Cas du bloc Switchlanguage dans Change 3.6.x
Objectif: au choix de la langue via l’élément <select />
, on redirige vers la page traduite.
Côté template, on boucle sur les langues disponibles. On stocke l’URL de la page de destination via l’attribut value
de l’élément option
.
1 2 3 4 5 6 7 8 9 10 |
<div class="mobile-switchlanguage-block" tal:condition="switchArray"> <select name="switchlanguage" id="mobileSwitchlanguage" class="unstyled"> <tal:block tal:condition="not:lang/url" tal:define="lang currentLangInfos"> <option>${lang/label}</option> </tal:block> <tal:block tal:repeat="lang otherLangsInfos"> <option tal:condition="lang/url" tal:attributes="value lang/url;title lang/title">${lang/label}</option> </tal:block> </select> </div> |
En jQuery, on détecte un choix d’option via l’élément HTML <select />
, on récupère la valeur de l’attribut value
(l’URL de la page de destination) et on lance la redirection.
1 2 3 4 5 6 |
jQuery(document).ready(function(){ jQuery('#mobileSwitchlanguage').on('change', function(){ var getTargetPageURL = jQuery(this).val(); window.location.href = getTargetPageURL; }); }); |