version Smarty 2 si je capture une chaîne statique:Smarty capture {foreach} résultats dans la variable vide
{capture name=test}
a huge page or string can go here
{/capture}
je peux simplement utiliser {$ smarty.capture.test} pour vider ma chaîne capturée dans mes deux modèle en cours ou dans un modèle enfant sans problème
Si je tente une capture « {foreach} » boucle comme:
{capture name=test}
{foreach item=Row from=$DataGrid.Rows name=RowsGrid}
,['{$Row.DataCells.project_name.Data}', {$Row.DataCells.approved_budget.Data}]
{/foreach}
{/capture}
je peux l'utiliser facilement dans le modèle actuel comme:
{$smarty.capture.test}
et il affiche les données correctes sous la forme d'une chaîne. cependant lorsque je tente l'utiliser dans un modèle de l'enfant:
{include file='/full/path/child.tpl'}
{$smarty.capture.test}
cela se traduira par des données capturées vides comme:
,['', ] ,['', ] ,['', ]
si j'utilise {$ smarty.capture.test | var_dump} il montre comme "string (86)" qu'est-ce qui me manque ici?
Je suppose que ma ténacité est le résultat de cette déclaration: « Cela signifie que vous pouvez utiliser toutes les variables à partir du modèle, y compris à l'intérieur du modèle inclus » tiré de: http://www.smarty.net/docsv2/en /language.function.include.tpl Je n'ai pas vraiment le luxe d'échanger des moteurs de gabarits pour le moment, je suis donc bloqué en essayant d'obtenir des variables d'un gabarit à un autre. Donc, pour être clair: dites-vous que ce n'est pas possible et le fait que je peux obtenir une variable statique transmise à partir d'un enfant.tpl est un bug? – Lookfar
La déclaration que vous avez citée est correcte: scope hérite * vers le bas *, vous pouvez utiliser les variables du template * incluant * (ie le parent) dans le template * inclus * (child.tpl). L'inverse n'est pas prévu et pourrait entraîner des effets dramatiques. Cela me semble être un bug. –
Le problème auquel je suis confronté est que j'ai un "tableau de bord" qui, faute d'un meilleur terme, j'ai appelé un "parent". le tableau de bord affiche une série de graphiques google, il y a 6 graphiques chacun avec son propre modèle. J'essaie d'obtenir tous les 6 tableaux sur cette page "Dashboard". Donc, en utilisant la portée «vers le bas», comment pourrais-je aller à ce sujet, des pensées? – Lookfar