Jump to content

[Résolu] Ajouter variable dans tpl


Recommended Posts

Bonjour,

Je cherche à comprendre comment faire pour utiliser une nouvelle variable dans .tpl.

Je cherche à incrémenter une variable ($i) dans un {if} contenu dans un {foreach}.
J'ai placé un {$i++} dans mon {if} et le seul souci, c'est qu'il m'affiche chaque incrémentation.
Je vous remercie d'avance.

Link to comment
Share on other sites

Bonjour, pour assigner une valeur c'est : {assign var=i value=0} pour l'incrémenter c'est {assign var=i value=$i+1} mais si $i représente le nombre de fois que foreach se déroule alors il vaut mieux utiliser {$smarty.foreach.nom_de_la_boucle_foreach.iteration} qui commence à 1 ou {$smarty.foreach.nom_de_la_boucle_foreach.index} qui commence à 0.

Un peur de lecture : http://www.smarty.net/docsv2/fr/language.function.foreach

Regardez aussi .first , .last et .total

Link to comment
Share on other sites

Bonjour coeos,

Je vous remercie pour votre réponse qui m'a plus que bien aidé ainsi que pour le lien, ça fonctionne impec ;)
J'avais lu qu'idéalement il est préférable d'éviter ce genre de déclaration dans les templates...
Mon souci, c'est que j'ai une boucle {foreach} ou le nombre d'itération est comparé à une variable définie dans le B.O.
Du coup, le {if} à l'intérieur n'était pas respecté, car une fois le nombre d'itération atteins le {foreach} stoppé.
Encore un grand merci à vous ;)

Link to comment
Share on other sites

Idéalement j'ai lu qu'il fallait éviter le code php dans un fichier tpl (avec {php}) mais ici les templates sont en smarty, donc y mettre du smarty n'est pas à éviter, par contre quand vous faites les mises à jour il ne faut oublier de garder les modifications sur les nouveaux fichiers.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...