mathieu.laustriat Posted July 12, 2012 Posted July 12, 2012 (edited) Bonjour à tous, Ma question est très simple pour un développeur Prestashop. Je souhaite pouvoir passer une variable d'un fichier PHP à un fichier TPL. Plus précisément, je souhaite faire passer une variable de header.php à header.tpl. Dans header.php, j'ai rajouté en fin de code : $tpl = new Smarty(); $tpl->assign("test","Je suis une variable"); $tpl->display(_PS_THEME_DIR_."header.tpl"); Et dans mon header.tpl, j'ai simplement rajouté : {$test} Au final, rien ne s'affiche mais je sens que je ne suis pas loin de faire fonctionner le passage de variables... Quelqu'un aurait-il la réponse ? Merci, Mathieu Edited July 12, 2012 by mathieu.laustriat (see edit history) Share this post Link to post Share on other sites More sharing options...
coeos.pro Posted July 12, 2012 Posted July 12, 2012 tu as vidé le cache, ou forcé la compilation ? Share this post Link to post Share on other sites More sharing options...
mathieu.laustriat Posted July 12, 2012 Posted July 12, 2012 Oui, le cache est vidé et la compilation forcé ! Share this post Link to post Share on other sites More sharing options...
mathieu.laustriat Posted July 12, 2012 Posted July 12, 2012 Pour info, voilà le code complet de mon header (sans les commentaires) : $controller = new FrontController(); if (Tools::usingSecureMode()) $useSSL = $controller->ssl = true; $controller->displayHeader(); $smarty = new Smarty(); $smarty->assign("test","Je suis une variable"); $smarty->display(_PS_THEME_DIR_."header.tpl"); Share this post Link to post Share on other sites More sharing options...
Mellow Posted July 12, 2012 Posted July 12, 2012 Bonjour, Tu ne donne pas la version de PS, mais on peut supposer que c'est une 1.4.x.x Alors ce n'est pas dans header.php qu'il faut rajouter ta valeur, mais dans la fonction displayHeader() du FrontController.php (qui se trouve dans le dossier "classes") Donc à la fin de la fonction displayHeader() Juste avant : self::$smarty->display(_PS_THEME_DIR_.'header.tpl'); Tu rajoute : self::$smarty->assign('test', 'je suis une variable'); PS : Le mieux c'est encore de créer une surcharge du FrontController à placer dans /override/classes/ Voir ici : http://www.prestasho...r_julien_breux/ 1 Share this post Link to post Share on other sites More sharing options...
mathieu.laustriat Posted July 12, 2012 Posted July 12, 2012 J'ai trouvé la solution en même temps que ton post, c'est exactement ça, merci ! Share this post Link to post 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