nuveo Posted April 30, 2011 Share Posted April 30, 2011 Bonjour,Je vais essayer de faire simple. lorsque l'on veut ajouter un élément de template dans un autre template on utilise la syntaxe suivante{include file="$tpl_dir./product-sort.tpl"}Dans mon module j'utilise plusieurs élément de template et j'ai modifier tpl_dir pour qui pointe sur l'élément présent dans mon module et pas le dossier template de base de prestashop.Le problème c'est que rien ne s'affiche et tout fonctionne avec smarty 2Ma question est donc de savoir comment l'on peut appeler un autre élément de template dans un moduleExemple : Le fichier new-product.tpl Appel 1 autre fichier de template product-sort.tpl qui est dans le même répertoireJ'espère que c'est compréhensible,Merci de votre aide. Link to comment Share on other sites More sharing options...
coeos.pro Posted April 30, 2011 Share Posted April 30, 2011 Bonjour, en ne mettant pas $tpl_dir mais le dossier ça marche ou pas ? Link to comment Share on other sites More sharing options...
nuveo Posted April 30, 2011 Author Share Posted April 30, 2011 Merci pour ta réponse, je pense avoir essayer presque toutes les combinaisons et je ne comprend pas pourquoi ça ne fonctionne pas. Je dois passé a coté d'un détails tout c.. {include file="/product-sort.tpl"}{include file="product-sort.tpl"}{include file="/themes/default/product-sort.tpl"}{include file="/home/chottaba/www/modules/module123/themes/default/product-sort.tpl"}Je penses que le problème doit être ailleurs, l'on a peut être pas le droit de modifier le dossier template défini dans smarty 3 ou il y a une sécurité, enfin il y a un petit truc qui block.Au pire des cas il y a 2 solutions, certe pas élégant mais qui fonctionne, - Copier le contenu des fichiers include dans le fichier parent et ne plus appeler de template externe- Appeler les fichiers depuis PHP avec $smarty->displayMais j'aimerais bien trouvé ce qui block, je penses que c'est important pour construire des modules le plus propre possible.Merci de votre aide Link to comment Share on other sites More sharing options...
coeos.pro Posted April 30, 2011 Share Posted April 30, 2011 Dans le fichier product.tpl il y a : {include file="$tpl_dir./product-list.tpl" products=$packItems}donc si ça ne fonctionne pas chez vous c'est que $tpl_dir n'est peut être pas bon, essayez de l'afficher pour voir ce qu'il contient. Link to comment Share on other sites More sharing options...
nuveo Posted May 1, 2011 Author Share Posted May 1, 2011 Bonjour,Voici ce que me retourne {$tpl_dir} : /home/chottaba/www/modules/module123/themes/default/Il s'agit bien du bon chemin absolu du fichier templateLorsque je passe en smart 2 dans le backoffice ça fonctionne, c'est pourquoi je pense qu'il doit s'agir d'un problème de règle ou configuration a effectué avec smart 3, mais laquelle…A note que lorsque je ne redéfinie pas $tpl_dir dans mon module il affiche bien le template mais ce n'est évidament pas le bon et il affiche les fichier du template d'origine /home/chottaba/www/themes/prestashop/J'ai essayer de créer une nouvelle variable $tpl_dir2 mais ça ce change rien.Du coup je regarde les fichiers config de smarty mais je commence a être un peu a court d'idée…Avez vous réussi a appeler un autre fichier de template dans un module avec smart 3 ? Link to comment Share on other sites More sharing options...
Broceliande Posted May 1, 2011 Share Posted May 1, 2011 idéalement tu assigne le path complet directement dans ton module $smarty->assign('product_sort_path',$this->_path.'themes/default/product-sort.tpl'); ensuite dans le tpl : {include file="$product_sort_path"} Pour info dans smarty 3 , les includes sont un peu plus capricieux niveau syntaxe... Link to comment Share on other sites More sharing options...
nuveo Posted May 2, 2011 Author Share Posted May 2, 2011 Merci de votre aide,J'ai trouvé le problème, il y avait une erreur de syntaxe smarty 3 dans l'un des fichiers template enfants, ce qui faisait planté les templates suivant. 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