mathieu.laustriat Posted July 12, 2012 Share 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) Link to comment Share on other sites More sharing options...
coeos.pro Posted July 12, 2012 Share Posted July 12, 2012 tu as vidé le cache, ou forcé la compilation ? Link to comment Share on other sites More sharing options...
mathieu.laustriat Posted July 12, 2012 Author Share Posted July 12, 2012 Oui, le cache est vidé et la compilation forcé ! Link to comment Share on other sites More sharing options...
mathieu.laustriat Posted July 12, 2012 Author Share 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"); Link to comment Share on other sites More sharing options...
Mellow Posted July 12, 2012 Share 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 Link to comment Share on other sites More sharing options...
mathieu.laustriat Posted July 12, 2012 Author Share Posted July 12, 2012 J'ai trouvé la solution en même temps que ton post, c'est exactement ça, merci ! 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