Dans smarty [v2 à ma connaissance] Je ne peux pas comprendre que je peux présenter certaines données dans une boucle foreach quand elle est à mi-chemin. C'est à dire. sépare la première moitié du tableau et la seconde moitié du tableau en deux éléments div différents.Smarty: Comment faire X quand la frappe atteint la moitié du total
C'est là où je suis actuellement, et est la logique de ce que je suis en train d'accomplir ..
<div>
{foreach from=$feature.variants item="var" name="var"}
{if $smarty.foreach.var.iteration == ($smarty.foreach.var.total % 2)}
</div>
<div class="ty-product-feature__value">
{/if}
{$var.variant}
{/foreach}
</div>
J'ai tout correct sauf la ligne 2. Je ne peux pas comprendre comment configurer correctement pour activer quand l'itération de la boucle actuelle est égale à la moitié du nombre total de fois que le foreach va boucler [ce qui signifie que le tableau est inséré, il mettra la moitié dans un élément div et l'autre moitié dans un second élément div.
En outre, c'est moins une priorité, mais que se passe-t-il quand un total de réseau irrégulier est présent et qu'il ne peut pas être divisé en deux de manière égale?
Merci beaucoup d'avance! C'est au-delà de mon expertise et je suis sûr qu'il y a quelqu'un avec une meilleure compréhension de cela que moi.
Remerciez vous beaucoup Borgtex; Bien que cela n'ait pas complètement résolu mon problème, il est venu près. Ce qu'il a fait a été mis 9 dans le premier div, et 11 dans le second div [dans un tableau de 20 éléments]. Je cherche à le diviser exactement en deux quand c'est possible, ou si c'est un montant irrégulier, mettez le plus grand montant dans le premier div, et le montant inférieur dans le second div. Si vous pouvez aller plus loin, je l'apprécierais grandement. Merci beaucoup pour votre aide! –
Etes-vous sûr? il devrait montrer 10 - 10 ... notez que {$ var.variant} doit être avant le {if}, pas après comme il était dans votre code original – Borgtex
Merci encore mon ami. Bien que j'aie fait quelques changements, ce sont des choses qui n'ont pas été mentionnées par moi et c'est votre aide qui a résolu ce problème, alors merci beaucoup. L'équation opératoire est montrée ci-dessous, où je l'ai fait de telle sorte qu'elle ne divisera que des rangées de moitié quand la rangée est plus grande que 16. J'apprécie votre aide beaucoup; +1 à votre réponse '{if ($ smarty.foreach.var.iteration> 8) && ($ smarty.foreach.var.iteration == $ loop_middle | ceil)}' –