J'utilise smarty version 2.6.26 et d'après les docs en utilisant {include 'file.tpl' scope = 'global'} ou {include 'child_template.tpl' scope = parent} on devrait pouvoir accéder aux variables contenues dans le template enfant et les utiliser dans le template parent.passage (variable globale) d'un template smarty à un autre
comme un exemple que j'ai le code comme ci-dessous dans mon modèle d'enfant:
{capture assign="project_variable" name=project_data scope="global"}
my text data here...
{/capture}
La variable {project_data de $} est disponible dans ce modèle maintenant
Dans mon modèle parent (tableau de bord) J'utilise :
{include 'child_template.tpl' scope=global}
mais si j'essaie d'utiliser {$ project_data} dans le modèle parent, il est vide. donc il semble que la variable définie dans le modèle enfant est locale seulement?
selon la documentation à l'adresse: http://www.smarty.net/docs/en/language.function.include.tpl
« Vous pouvez utiliser toutes les variables à partir du modèle, y compris à l'intérieur du modèle inclus ».
Que manque-t-il ici? merci d'avance pour toute idée.
le document pour SMARTY2 semble le même: – Lookfar
Mon erreur, cependant, le document SMARTY2 semble être le même: http: //www.smarty.net/docsv2/fr/language.function.include.tpl citation: "Cela signifie que vous pouvez utiliser toutes les variables du modèle inclus dans le modèle inclus". ou suis-je en train de mal interpréter? selon cette: http://www.smarty.net/forums/viewtopic.php?p=56673 on peut réutiliser la variable comme {$} smarty.capture.project_data pour SMARTY2, mais je ne l'ai pas été capable de faire fonctionner cela non plus. – Lookfar
AHA! J'ai juste essayé le chemin d'accès complet au modèle: {include file = '/ home/nom d'utilisateur/public_html/mysite/custom_templates/child.tpl} et utilisé {$ smarty.capture.project_data} et cela a fonctionné :) – Lookfar