22/08/2012, 10:38:39
YEAAAH ça marche
La solution complète est issue de cette documentation : http://www.smarty.net/docs/en/api.add.template.dir.tpl
En gros on va ajouter le répertoire "/template" dans la conf Smarty comme étant un répertoire qui contiendra des templates qui seront "appelables" durant le traitement.
donc dans la classe PHP de mon module :
Dans arborescence de mon module j'ai deux templates : ./templates/general.tpl et ./templates/enfant.tpl
Dans general.tpl je peux faire appel à tout moment à l'autre template avec ce code.
Note #1 : les variables passées à Smarty sont incluent de facto à enfant.tpl
Note #2 : si votre template enfant ne contiens pas vraiment de code dynamique vous pouvez jongler avec les options de Smarty pour mettre en cache les données issues de enfant.tpl
Note #3 : un cas d'utilisation est la possibilité de factoriser du code d'un onglet entier du module qui sera rechargeable par Ajax. Un seul template contient donc le code pour le premier chargement de la page est pour le chargement par ajax. Moins de code = moins d'erreur
Je vais me renseigner sur le forum anglais voir si Cg n'a pas des remarques à faires sur mon code (genre "han mais non faut pas faire ça...)
La solution complète est issue de cette documentation : http://www.smarty.net/docs/en/api.add.template.dir.tpl
En gros on va ajouter le répertoire "/template" dans la conf Smarty comme étant un répertoire qui contiendra des templates qui seront "appelables" durant le traitement.
donc dans la classe PHP de mon module :
Code :
//A placer avant l'appel à ProcessTemplate
$smarty->addTemplateDir(dirname(__FILE__).'/templates');
Dans arborescence de mon module j'ai deux templates : ./templates/general.tpl et ./templates/enfant.tpl
Dans general.tpl je peux faire appel à tout moment à l'autre template avec ce code.
Code :
{include file='enfant.tpl'}
Note #1 : les variables passées à Smarty sont incluent de facto à enfant.tpl
Note #2 : si votre template enfant ne contiens pas vraiment de code dynamique vous pouvez jongler avec les options de Smarty pour mettre en cache les données issues de enfant.tpl
Note #3 : un cas d'utilisation est la possibilité de factoriser du code d'un onglet entier du module qui sera rechargeable par Ajax. Un seul template contient donc le code pour le premier chargement de la page est pour le chargement par ajax. Moins de code = moins d'erreur
Je vais me renseigner sur le forum anglais voir si Cg n'a pas des remarques à faires sur mon code (genre "han mais non faut pas faire ça...)