Modifier la variable url de langues...

Pour vos questions au sujet de la personnalisation du script, des skins... - About customizing the script.

Modérateurs : boulmontjj, Otomatic, Pierre G., Malabar

Règles du forum
Pensez à effectuer une recherche et à consulter la FAQ, la réponse à votre question a de grandes chances d'avoir déjà été donnée ;-).
Dans votre message, n'oubliez pas de mentionner l'URL vers votre livre d'or, cela nous permet de vous aider bien plus efficacement :super:.

Modifier la variable url de langues...

Message par neum » Mar 27 Déc 2011, 12:12

Bonjour,

Neum le retour. Mais d'abord, puisque l'on est le 27 Décembre : Bonnes Fêtes à tous. En espérant que vous avez passé un Joyeux Noël.

Je reviens vers vous pour une question que d'aucun jugera "de détails", et qui en effet n'a rien de cruciale, mais que j'aimerai régler pour un affichage d'URL aussi propre que cohérent, au regard de l'ensemble de mon site. Tout est donc dans le titre que j'ai choisi pour ce post : comment modifier l'intitulé de la variable de langue, passée dans les URL du Livre d'Or?

Je m'explique : Alex GuestBook est aussi bien fait pour cette raison : il est multi-langues d'une part, mais d'autre part, il suffit - même pour un novice - de simplement passer l'argument "lang=english ou french ou spanish ou etc.." dans l'adresse de son lien hypertexte, pour ouvrir le livre d'or dans la langue voulue. Limpide.
Or c'est justement cette formulation textuelle que j'aurais besoin de modifier quelque peu, sur le modèle suivant (3 langues) :

langue=fr | langue=en | langue=es => et non pas donc : lang=french | lang=english | lang= spanish

Je ne suis pas parvenu à trouver le fichier de gestion de cette variable...
Par avance merci de ce petit coup de main pour parachever le livre d'or.
En vous souhaitant une nouvelle fois de Belles Fêtes de Fin d'Année, et bien cordialement,
Neum
neum
 
Message(s) : 34
Inscription : Mer 18 Juin 2008, 18:29

Re: Modifier la variable url de langues...

Message par Malabar » Mar 27 Déc 2011, 15:08

Bonjour,

Bonnes fêtes à vous aussi :o)

Changer le nom d'une variable n'est pas une opération simple. Je dirai même qu'elle me semble irréalisable. Je m'explique : cette variable est utilisée dans plusieurs fichiers du script, il faudrait donc passer dans chacun d'eux pour la modifier. Ce n'est pas compliqué avec un bon éditeur de texte mais il y aura forcément des exceptions (variables imbriquées dans une autre par exemple). Et quid des mises à jour du livre ?

La solution que je propose est tout autre. Je l'ai abordée récemment dans un autre sujet (viewtopic.php?f=1&t=2696) mais le demandeur n'a pas poursuivi la discussion.
Sur mon site j'utilise des trois langues (le français, l'anglais et l'espagnol). Comme je savais que j'allais utiliser le livre d'or, j'ai nommé ma variable $lang (et non $langue). Mais on peut imaginer conserver les deux.
Ensuite j'ai renommé les fichiers de langues fr.php, en.php, es.php (car sur le site je n'utilise que les premières lettres des langues).
Reste plus qu'à modifier l'option "Variables passées en paramètre (mettez # pour représenter le $ d'une variable)".
Dernier point : modifier directement la base de données pour que le script utilise par défaut la langue fr (ou en) et non pas francais. Pour cela modifier la table alex_livre_config (avec phpMyAdmin) puis le paramètre "langue".


La question essentielle est donc : est-ce gênant pour vous d'avoir une variable $lang et une variable $langue dans les paramètres d'URL ?
Le mâle à barre (Maxime)
Malabar
Admin
Admin
 
Message(s) : 3889
Inscription : Lun 07 Août 2006, 09:46
Localisation : Lorient

Re: Modifier la variable url de langues...

Message par neum » Mer 28 Déc 2011, 13:14

Bonjour Malabar,

et merci de la réponse.

Je me doutais bien d'une telle problématique, en ce sens, l'imbrication pour ne pas dire l'imbroglio de variables et autres codes régissant les variables de langues, disséminés en outre dans moult pages du module Alex GuestBook... Sans compter - vous faites bien d'en parler car je n'y avais pas songé - des futures mises à jour... (en... 2112??!... :ghee: Comment dites-vous déjà?... Private Joke! :siffle: )

Donc bon, je suis conciliant et surtout pragmatique. Je vais donc revoir ma copie. Mais cela étant, je crains tout de même de ne pas avoir été tout à fait clair : je n'utilise pas le champ url de l'admin du Livre d'Or (celui où vous demandez justement de remplacer le caractère "$" par celui "#" pour les variables dynamiques). Non, pas du tout même.
Lorsque je parle des variables de langues dans la barre d'adresse, c'est pour mon lien d'appel depuis une des rubriques du site vers la page Alex GuestBook (car le module est affiché en page autonome et non via un include : bien plus commode pour moi dans mon cas). Mon lien d'appel est soit en français, soit en anglais soit en espagnol. Et c'est moi, via une condition php if else qui écris directement dans le code l'ajout de la variable :
C'est du type (à titre purement illustratif) :

Code : Tout sélectionner
<?php
if (mavariablelangue == fr) {
echo mon lien "fr" -> http://www.lesite.com/livredor/index.php?skin=AguestNew&lang=french;
} else if (mavariablelangue == en) {
echo mon lien "en" -> http://www.lesite.com/livredor/index.php?skin=AguestNew&lang=english;
} else if (mavariablelangue == es) {
echo monlien "es" -> http://www.lesite.com/livredor/index.php?skin=AguestNew&lang=spanish;
} else {
echo monliengenerique "en" - > http://www.lesite.com/livredor/index.php?skin=AguestNew&lang=english;
}
?>


Vous voyez? Sachant en outre que le lien est une image et qu'elle est issue d'une table créée dans la BDD.
Ayant compris comment fonctionne la syntaxe de la traduction dynamique de votre livre d'or, j'ai moi-même écris la variable des langues de mes liens-url dans votre formulation afin que les liens fonctionnent. Mais c'est bien ici que je voudrais opérer les modifications : "&lang=fr" et "&lang=en" et "&lang=es"

Comme vous pouvez le constater à présent, que la variable doivent absolument s'appeler "lang" et non pas "langue", qu'à cela ne tienne, tant pis, c'est vraiment un moindre mal. Mais j'aimerais pour autant, au minimum dirons-nous, que les intitulés de langage soit réduits à leurs 2 initiales : "fr", "en", "es" et non pas "french", "english" et "spanish". Ce serait vraiment très appréciable d'au moins parvenir à ce résultat. C'est surtout ici que se niche ma vraie requête...

J'avais donc cru comprendre, au regard de votre réponse, qu'il me fallait juste renommer les fichiers de langue et changer le premier initulé de langage dans la base de données ("fr" au lieu de "français" dans la table "alex_livre_config "via PhpMyAdmin), pour y parvenir. Perdu...
La page d'Alex s'ouvre pour n'afficher que "Bad Lang" sur fond blanc....

Vous savez tout cette fois... Dans l'attente et l'espoir de vos précisions, et en vous remerciant beaucoup
Neum
Dernière édition par neum le Jeu 29 Déc 2011, 12:14, édité 2 fois.
neum
 
Message(s) : 34
Inscription : Mer 18 Juin 2008, 18:29

Re: Modifier la variable url de langues...

Message par Malabar » Mer 28 Déc 2011, 14:56

C'est de ma faute pour le "Bad lang". Pour corriger une faille de sécurité, j'ai mis en place un code qui vérifie la longueur de la langue. J'ai mis que la langue fait entre 5 et 20 caractères.
Modifiez le fichier /include/livre_include.php et à la ligne 57,
remplacez
Code : Tout sélectionner
if (!alphanum_only($_GET['lang'], 5, 20, true))

par
Code : Tout sélectionner
if (!alphanum_only($_GET['lang'], 2, 20, true))


Pour la mise à jour, ce ne sera pas comme j'espérais en 2011 mais 2012...
Le mâle à barre (Maxime)
Malabar
Admin
Admin
 
Message(s) : 3889
Inscription : Lun 07 Août 2006, 09:46
Localisation : Lorient

Re: Modifier la variable url de langues...

Message par neum » Mer 28 Déc 2011, 15:38

Re-bonjour Malabar,

hé bien voilà... c'est fait et... ça marche! Merci Malabar. Redoutablement efficace.

Petit rajout au mode opératoire cela étant : puisque j'ouvre le livre d'or en pleine page, de façon autonome, il m'a fallu avoir recours au bouton "retour" (vers une des pages du site). J'ai opté pour la page "contact" (ça m'a paru cohérent). Bref. Mais toujours est-il qu'il fallait que le retour puisse se faire dans une des trois langues du site, puisqu'un internaute peut ouvrir le livre d'or depuis n'importe quelle page du site aussi bien en "fr", en "en" ou en "es". J'avais donc rajouté dans la page index du module livre d'or (1er niveau), mes mêmes conditions php de choix de langue que précédemment, pour l'affichage du bouton : il a donc fallu que je corrige ces liens-là aussi. Tout est donc à présent opérationnel.

A ceci près que... pour que ça marche sur l'ensemble du site, il ne me reste plus qu'à... modifier tous mes liens! :| ARG!....gulps.. gnarf....

Quoiqu'il en soit bravo et merci.

P.S. : quant à la news du jour, un nouveau Alex GuestBook, c'est forcément maintenant,... la meilleure de l'année!! On a hâte de voir ça...
Et si j'avais une remarque à formuler, autre que le fait d'être réjouis, ce serait celle de demander de ne pas invalider d'anciennes commandes au profit de nouvelles, mais plutôt de venir les compléter...

Merci Père Noël...

Neum
neum
 
Message(s) : 34
Inscription : Mer 18 Juin 2008, 18:29

Re: Modifier la variable url de langues...

Message par Otomatic » Mer 28 Déc 2011, 18:10

neum a écrit :Mais toujours est-il qu'il fallait que le retour puisse se faire dans une des trois langues du site, puisqu'un internaute peut ouvrir le livre d'or depuis n'importe quelle page du site aussi bien en "fr", en "en" ou en "es".

Bonjour,

Pourquoi ne pas utiliser un cookie ou une variable de session $_SESSION['language'] qui contiendrait la langue utilisée par le visiteur.
C'est juste une suggestion, n'ayant pas utilisé ces manières de faire, je ne pourrais pas vous aiguiller davantage. :/
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi
Otomatic
Modérateur
Modérateur
 
Message(s) : 437
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris

Re: Modifier la variable url de langues...

Message par neum » Jeu 29 Déc 2011, 11:54

Bonjour Otomatic,

et merci de venir participer à ce petit topic pour autant résolu. Car "résolu" il l'est, en effet. Certes, il est toujours pénible d'effectuer une tâche répétitive sur un site. Qui plus est si elle est corrective. Mais à la vérité, la modification des liens du site vers le livre d'Or ne m'a pas prit plus de 15mn. Bref, pas la mer à boire.

Pour ce qui est de votre proposition, le système des variables php (php5) est pour moi plus accessible, plus contrôlable, plus naturel que des sessions. Question de méthodes personnelles en somme. En revanche, et c'est un choix cette fois délibéré et à dessein, je ne me servirais jamais de cookies pour ce genre de choses, puisqu'ils peuvent être désactivés! Je ne m'en sers que pour des formulaires en ligne (type "contact" par ex) avec des scripts d'alerte et de redirection vers une page "d'incitation" à leurs réactivations, pour pouvoir utiliser les formulaires. Mais c'est tout un système à mettre en place, et dans le cadre d'une simple détection de langues, c'est un bazooka pour écraser un moustique...

Voilà, vous savez tout. Encore merci de vous être intéressé à ce topic et bonnes fêtes de fin d'année à vous.
Bien cordialement,
Neum
neum
 
Message(s) : 34
Inscription : Mer 18 Juin 2008, 18:29


Retour vers Personnalisation - tuning

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)

cron