Majimo Posted April 24, 2017 Share Posted April 24, 2017 (edited) Bonjour, J'essaie depuis ce matin, en vain de faire passer une variable que j'ai défini en PHP dans un fichier TPL d'un module. Je suis sous Prestashop 1.6 Mon fichier PHP (toto.php) : global $smarty; $html = ''; $valeur = 1000; $html .= '<li>5</li>'; $this->context->smarty->assign('html',$html); return $this->display(__FILE__, 'template_5.tpl'); Mon fichier TPL (template_5.tpl) : </div> {for $foo=1 to 3} <li>{$foo}</li> {/for} {$html} </div> Mais dans mon résultat final, j'obtiens la chose suivante : <div> <li>1</li> <li>2</li> <li>3</li> </div> Mes deux fichiers sont tous les deux placés dans le même dossier modules/MonModule/views/templates/admin Est-ce là mon erreur ? J'ai tenté de mettre mon fichier PHP à la base de mon module dans modules/MonModule , mais ça ne fonctionne pas mieux. Si vous pouviez m'aider à comprendre mon erreur et pourquoi mon <li>5</li> ne s'affiche pas, je vous serai mille fois reconnaissant Edited April 24, 2017 by Majimo (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 24, 2017 Share Posted April 24, 2017 Bonjour, c'est quoi ce fichier php ? il est appelé quand dans votre code de module pour être utilisé ? Link to comment Share on other sites More sharing options...
Majimo Posted April 24, 2017 Author Share Posted April 24, 2017 Eh bien c'est justement là que je me demande si je ne fais pas une erreur.Je pensais qu'il était appelé par le code smarty {$html}, mais je n'obtiens pas mon $html de mon fichier PHP assigné par mon $this->context->smarty->assign('html',$html); Faut-il appeler le fichier PHP dans mon TPL pour l'utiliser ? Ce n'est pas déjà le cas grâce au return $this->display(__FILE__, 'template_5.tpl'); de mon fichier PHP ? J'avoue être un peu perdu avec ce système de TPL Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 24, 2017 Share Posted April 24, 2017 il serait peut être bon de regarder comment fonctionne les autres modules pour comprendre le bon fonctionnement, après vous avez la doc officielle pour vous aider. Link to comment Share on other sites More sharing options...
Majimo Posted April 24, 2017 Author Share Posted April 24, 2017 il serait peut être bon de regarder comment fonctionne les autres modules pour comprendre le bon fonctionnement, après vous avez la doc officielle pour vous aider. Oui, j'ai cherché ma réponse dans la doc officielle. Mais il propose le cas pour un module en Front, alors que je veux influencer sur la partie Admin de mon module. Mais je vais jeter un oeil à la structure des autres modules. J'y trouverai peut être ma réponse... Link to comment Share on other sites More sharing options...
Majimo Posted April 24, 2017 Author Share Posted April 24, 2017 Je crois que j'ai bientôt remuer tout Google pour trouver la réponse à ma question, et impossible de la trouver.S'il vous plait, si vous avez un indice chers membres de la communauté Prestashop Link to comment Share on other sites More sharing options...
Majimo Posted April 25, 2017 Author Share Posted April 25, 2017 Up !S'il vous plaît, j'ai vraiment besoin que l'on m'oriente un peu sur mon souci... :/ Est-ce que cette manip de "smarty->assign" n'est disponible que pour les modules Front et pas les modules Admin ?Est-ce qu'il faut mettre le fichier Php dans un controller ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 25, 2017 Share Posted April 25, 2017 Pour commencez votre module, lorsque l'on n'y connait pas grand chose il suffit de commencer par générer une structure de base en utilisant https://validator.prestashop.com/generator après il faut lire les documentation, regarder les bonne pratiques, décortiquer tout le code des classes et controllers PrestaShop. Link to comment Share on other sites More sharing options...
Majimo Posted April 25, 2017 Author Share Posted April 25, 2017 Je pars d'un module qui a déjà été monté au niveau de mon agence. (Je suis en stage au sein d'une entreprise et on m'a mis dessus sans que je connaisse tout au départ, j'apprends donc sur le tas) Mais j'ai ma solution. En fait, la façon de déclarer était bonne, c'est juste que je déclarai pas dans le bon fichier Php. Il faut déclarer les variables dans le Php principal du module.Voilà voilà Merci pour l'aide en tous cas 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