Comment puis-je vérifier l'itération actuelle pour pour utiliser et faire quelque chose?
{foreach $new_products as $product name=foo}
{if $smarty.foreach.foo.iteration=5}
Do it!
{/if}
{/foreach}
3 Réponses :
Je pense que vous devriez faire {si $ $ smarty.foreach.foo.itération == 5} code> (Notez le == p>). P>
Pourquoi le double est-il égal? J'essaie juste de comprendre parce que === fonctionne bien aussi.
@LOXYBOI Vous pouvez utiliser deux ou trois signes égaux (trois vérifieront que le type correspond aussi - voir
@Apfelbox Oh oui, je peux voir que maintenant, n'a pas repéré celui-ci "=" dans la question. Je pensais que vous parlez de règles spécifiques à Smarty. Merci!
Il y a une technique alternative (je pense plus récente) pour cela. L'exemple de Smarty Docs le démontre bien:
{foreach $items as $i}
{if $i@index eq 3}
{* put empty table row *}
<tr><td>nbsp;</td></tr>
{/if}
<tr><td>{$i.label}</td></tr>
{/foreach}
Pour Smarty 3 Vous pouvez utiliser @ alteration Propriété
{foreach $new_products as $product}
{if $product@iteration == 5}
Do it!
{/if}
{/foreach}
{foreach $ à partir d'article} {si $ item @ itération == 5} code> est un peu plus court ...