Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] Utilisation de {include} dans un gabarit
#5

YEAAAH ça marche Cool

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 Smile


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...)
Sujet fermé


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)