turtle Posted October 24, 2010 Share Posted October 24, 2010 Salut à tous,J'espère être dans la bonne section, j'ai hésité avec "module tiers"... J'ai pour projet l'installation d'une boutique, et je cherche à la personnaliser en ajoutant un ou 2 modules ; je commence donc par le commencement, la doc technique (et un autre tuto), et j'ai essayé de reproduire l'exemple.Pas de souci particulier au début, je suis arrivé jusqu'à l'affichage d'un texte sur une page en conservant le design.Mais arrivé à la partie "utilisation de Smarty" (page 36), j'ai un problème. Voici la page de la doc, mais ici avec mes noms de fichiers et variables, a priori pas d'erreur de ma part à ce niveau : Smarty est le moteur de templates utilisé dans PrestaShop.Il parcourt les fichiers TPL à la recherche d'éléments dynamiques pour les remplacer par les données adéquates avant d'afficher le résultat obtenu. Ces éléments sont indiqués entre accolades { … }. L'utilisateur peut créer ses propres variables et les utiliser dans les fichiers TPL.Par exemple, dans le fichier moduletest_page.php, on crée une telle variable. Fichier moduletest_page.php <?php global $smarty; include('../../config/config.inc.php'); include('../../header.php'); include('moduletest.php'); $mymodule = new Moduletest(); $message = $mymodule->l('Welcome to my shop!'); $smarty->assign('messageSmarty', $message); $mymodule->display(dirname(__FILE__).'/moduletest_page.tpl'); include('../../footer.php'); ?> On peut désormais demander à Smarty l'affichage du contenu de cette variable dans le fichier page.tpl. Fichier moduletest_page.tpl {$messageSmarty} Quand je vais sur la page, j'obtiens le message suivant : Fatal error: Cannot redeclare class moduletest in /mnt/138/sda/1/c/everybadi/presta/modules/moduletest/moduletest.php on line 44 Quelqu'un saurait-il me dire où est le problème ?Merci d'avance !Turtle Link to comment Share on other sites More sharing options...
turtle Posted October 24, 2010 Author Share Posted October 24, 2010 Je précise juste que si je fais ça, le texte "Welcome to my shop!" s'affiche bien, c'est donc, je suppose, que tout est OK au niveau des fichiers. <?php global $smarty; include('../../config/config.inc.php'); include('../../header.php'); $message = 'Welcome to my shop!'; $smarty->assign('messageSmarty', $message); $smarty->display(dirname(__FILE__).'/moduletest_page.tpl'); include('../../footer.php'); ?> Mais si j'ai bien compris, je dois pouvoir remplacer {$messageSmarty} par {l s=$messageSmarty mod='moduletest'} dans moduletest_page.tpl pour utiliser la fonction l(), non ? 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