Forum CMS Made Simple FR

Version complète : Changer la valeur d'une variable quand on clique sur un lien html
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

Dans la présentation sur les Modules Complémentaires, je lis:
- Gestion des évènements (exemple : action à réaliser à chaque fois qu'une personne clic sur un lien précis => envoyer un email)

Du coup, je me demande s'il y aurait un moyen magique de changer, par exemple, la valeur d'une variable de session quand un utilisateur clique sur un lien html.
Je sais que je peux le faire avec Javascript, mais je me demande s'il y a d'autres possibilités. Avec {cms_selflink} cela ne semble pas possible par exemple.

Je rêve probablement, mais ça ne fait pas de mal !
Bonsoir,
dans l'aide de cms_selflink, j'ai vu ça:
(option) more - ajoute des options supplémentaires dans le lien < a > lien < /a >.
je suppose que tu peux y mettre un "onclick=..."
Tu peux aussi appeler une UDT dans la page cible du lien (dans l'onglet Options).
Bonjour,

En fait, ce serait pour la page d'accueil d'un site bilingue (fr/en). J'ai utilisé la méthode de Goran Ilic qui me convient parfaitement.

Avec cette méthode toutes les pages de mon site existent dans les 2 langues, sauf la page d'accueil qui est unique.

Mais dans mon cas, je présente aussi des informations en français ou en anglais sur la page d'accueil de mon site, en fonction de langue préféré de l'utilisateur. Pour cela, j'utilise l'UDT get_browserlang de Goran et je sauve l'info dans une variable de session avec un "$smarty->assign('langue_active', $_SESSION['langue']);".

Sur ma page d'accueil, j'ai prévu 2 liens html FR et EN, et j'aimerais que ses liens permettent de changer la valeur de ma variable de session et recharger la page dans la langue demandée. Je sais que je peux le faire en JavaScript, mais je me demande s'il y aurait une autre méthode ?
Je rêvais à un {cms_selflink page="home" var="langue" assign="FR"} mais ça n'existe pas par exemple.
Bonjour,
pour les sites multilingues, je te conseille vivement le module MLE.
Tu peux trouver la doc de JCE ici :http://wiki.cmsmadesimple.fr/wiki/MleCMS_%28Module%29
Oui, en ce moment, MLE semble plus adapté pour les sites multilingues. À ce sujet, il y ce post en anglais qui en parle aussi.

Pour en revenir, à ma demande initiale, l'onglet "Gestion des évènements" de l'interface d'admin ne traite que des évènements des modules. Est-ce que il y aurait une possibilité de capturer un évènement sur un lien html avec l'API ?
Salut,
pas avec l'API...tu peux utiliser jquery pour ça.
Ok, merci, donc JavaScript est incontournable.
Sinon, en passant ma variable dans l'url, ça marche, mais ce n'est pas très discret :

{cms_selflink page="home" urlparam="?langue=FR"}
et je récupère ma valeur avec :
{$smarty.get.langue}
si tu veux vraiment développer ton propre système multilingue, tu peux t'inspirer du module de Bess puisqu'il compte les clics. Plutôt que de compter les clics, tu peux positionner tes variables.
http://dev.cmsmadesimple.org/projects/downcnt