scoobi Posted February 25, 2011 Share Posted February 25, 2011 (edited) Bonsoir, Comment récupéré id-lang avec le Version 4 de PS ? Jusqu'à présent dans la version 3 j'utilisai dans header.php: if ($cookie->id_lang == 1) Mais dans la version 4, c'est dans le fichier FrontController.php que je dois tester la langue Et if ($cookie->id_lang == 1) ne donne rien echo $cookie->id_lang; n'affiche rien... Quelle est la manière de récupérer la variable lang-iso ou id-lang (1 pour anglais, 2 pour français...) ? Merci Edited February 2, 2013 by scoobi (see edit history) Link to comment Share on other sites More sharing options...
Kreasite Posted February 25, 2011 Share Posted February 25, 2011 Hi,Je ne suis pas sur mais essais peut être indice_lang++DAV Link to comment Share on other sites More sharing options...
scoobi Posted February 26, 2011 Author Share Posted February 26, 2011 Merci pour ta réponse if ($cookie->indice_lang ==1) ne donne rien non plus...Il y a eu du changement dans la V4...J'ai l'impression que puisqu'il est impossible de lire le contenu d'une variable, c'est donc qu'elle n'est pas chargée à cet endroit du codeJe suis dans la fonction "public function displayHeader()"Cela dit, dans la fonction "public function init()", il semble y avoir des appels, mais je n'arrive pas à les utiliser // Switch language if needed and init cookie language if ($iso = Tools::getValue('isolang') AND Validate::isLanguageIsoCode($iso) AND ($id_lang = (int)(Language::getIdByIso($iso)))) $_GET['id_lang'] = $id_lang; Tools::switchLanguage(); Tools::setCookieLanguage(); /* attribute id_lang is often needed, so we create a constant for performance reasons */ define('_USER_ID_LANG_', (int)$cookie->id_lang); Link to comment Share on other sites More sharing options...
scoobi Posted February 26, 2011 Author Share Posted February 26, 2011 En faisant ceci je peux lire la variable id_lang $cookie = new Cookie('ps'); if ($cookie->id_lang ==1) echo "en=$cookie->id_lang"; if ($cookie->id_lang ==2) echo "fr=$cookie->id_lang"; Mais quand je change de langue, le id_lang ne se rafraichit pas, je doit faire un F5 pour le rafraichirDu coup ce n'est peut être pas dans ce fichier que je dois faire ma modif ?C'est peut-être à l'endroit on il y la détection de clique sur les drapeauxMerci de votre aide Link to comment Share on other sites More sharing options...
scoobi Posted February 26, 2011 Author Share Posted February 26, 2011 Voici mon code situé dans Frontcontroller.php dans la fonction "function displayHeader()"La je sèche!Quand je clique sur les drapeaux, la prise en compte du header_lang1 ou header_lang2 à toujours un temps de retardJe dois faire F5 pour que le bon header s'affiche avec le bon drapeauLe fait de cliquer sur un drapeau ne rafraichit pas ce code!Merci de votre aide //self::$smarty->display(_PS_THEME_DIR_.'header.tpl'); $cookie = new Cookie('ps'); Tools::setCookieLanguage(); if ($cookie->id_lang ==1) echo "en=$cookie->id_lang"; if ($cookie->id_lang ==2) echo "fr=$cookie->id_lang"; if ($cookie->id_lang == 1) { self::$smarty->display(_PS_THEME_DIR_.'header_lang1.tpl');} else if ($cookie->id_lang == 2) { self::$smarty->display(_PS_THEME_DIR_.'header_lang2.tpl');} Link to comment Share on other sites More sharing options...
scoobi Posted February 2, 2013 Author Share Posted February 2, 2013 La réponse à mon problème ici: http://www.prestashop.com/forums/topic/107492-comment-fait-t-on-pour-recuperer-lid-de-la-langue-dans-une-fonction-static/ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now