Bonjour,
Comme le titre indique, c est un probleme de "assign". J ai pas compris son role.
Est ce que chaque fois que j utilise assign, je dois mettre display?
Merci pour votre aide
Version imprimable
Bonjour,
Comme le titre indique, c est un probleme de "assign". J ai pas compris son role.
Est ce que chaque fois que j utilise assign, je dois mettre display?
Merci pour votre aide
non, le display ne se fait qu'une fois, à la fin.
Le assign, il faut le faire pour toutes les variables que tu passe à ton template : ça permet en fait de les transférer de ton script PHP à ton template, et de pouvoir ensuite bosser dessus dans ton tpl.
(si je suis pas clair, n'hésites pas à redemander des explications ;) )
J'ai trouvé ça :et ça a donné :Code:
1
2
3
4
5
6 <?php $smarty = new Smarty; $smarty->assign('articleTitle', "'Les devins ont prévus que le monde existera toujours"); $smarty->display('index.tpl'); ?> {$articleTitle|cat:" demain."}
Comment voulez vous que je comprends ça?Citation:
Les devins ont prévus que le monde existera demain.
en fait, il y a deux choses ici :
la partie php qui affecte la variable articleTitle au template, puis affiche le template.Code:
1
2
3
4
5 <?php $smarty = new Smarty; $smarty->assign('articleTitle', "'Les devins ont prévus que le monde existera toujours"); $smarty->display('index.tpl'); ?>
le template, qui affiche la variable assortie d'un modificateur (pas le plus simple pour commencer). Dans le plus simple des monde, tu aurai ça :Code:{$articleTitle|cat:" demain."}
qui se contenterai de t'afficher ta variable.Code:{$articleTitle}
ici, le modificateur cat est utilisé. Il va se contenter de concaténer à la fin de la variable la chaine passée en paramètre (donc ton exemple est faux, la valeur de retour devrait être "Les devins ont prévus que le monde existera toujours demain.") ;)