10/09/2015, 09:47:10
bonjour a tous :-)
je viens d'avoir la réponse à mon probleme (et mes questions sur la portee des variables smarty dans cette v2.0) sur le forum anglais....
effectivement, ils ont introduit un nouveau systeme de gestion de la portée des variables, qui ne sont plus globales par défaut, pour éviter que des gabarits de modules n'écrasent accidentellement des variables déjà déclarées...
cependant, on a toujours la possibilité de déclarer une variable en global pour pouvoir la passer d'un gabarit à l'autre....
voici le lien de leur blog explicant la chose (en anglais.....) : cmscanbesimple.org/blog/smarty-scope-examples (rajoutez le http car je ne peux pas mettre de lien vu que je suis un petit nouveau :-) )
par exemple, pour mon probleme de balise <meta charset={$nls->encoding()} /> (qui me faisait une erreur fatale, donc page blanche),
je l'ai résolu en ajoutant
{$nls = $nls scope=global}
juste apres le {cms_lang_info assign=nls} au tout début du gabarit simplex....
idem pour mon titre de page:
{title assign=main_title} remplacé par {$main_title = {title} scope=global} (pas la meme syntaxe car title renvoi une chaine alors que cms_lang_info renvoi un objet.... suivant ma déduction...)
voila voila, si ca peut aider.... en attendant la doc en bon français :-)
bonne journée a tous,
stephane
je viens d'avoir la réponse à mon probleme (et mes questions sur la portee des variables smarty dans cette v2.0) sur le forum anglais....
effectivement, ils ont introduit un nouveau systeme de gestion de la portée des variables, qui ne sont plus globales par défaut, pour éviter que des gabarits de modules n'écrasent accidentellement des variables déjà déclarées...
cependant, on a toujours la possibilité de déclarer une variable en global pour pouvoir la passer d'un gabarit à l'autre....
voici le lien de leur blog explicant la chose (en anglais.....) : cmscanbesimple.org/blog/smarty-scope-examples (rajoutez le http car je ne peux pas mettre de lien vu que je suis un petit nouveau :-) )
par exemple, pour mon probleme de balise <meta charset={$nls->encoding()} /> (qui me faisait une erreur fatale, donc page blanche),
je l'ai résolu en ajoutant
{$nls = $nls scope=global}
juste apres le {cms_lang_info assign=nls} au tout début du gabarit simplex....
idem pour mon titre de page:
{title assign=main_title} remplacé par {$main_title = {title} scope=global} (pas la meme syntaxe car title renvoi une chaine alors que cms_lang_info renvoi un objet.... suivant ma déduction...)
voila voila, si ca peut aider.... en attendant la doc en bon français :-)
bonne journée a tous,
stephane