В smarty [v2, насколько мне известно] Я не могу представить, что могу представить некоторые данные в цикле foreach, когда он находится на полпути. То есть. отделите первую половину массива и вторую половину массива на два разных элемента div.Smarty: Как сделать X, когда foreach ударяет половину всего
Это где я в настоящее время нахожусь, и логика, что я пытаюсь сделать ..
<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>
У меня есть все правильно, кроме линии 2. Я не могу понять, как правильно установить его, чтобы активировать когда текущая итерация цикла равна половине общего количества раз, когда foreach будет зацикливаться [что означает независимо от элементов, которые он представляет собой массив, он будет помещать половину в один элемент div, а вторую половину - во второй элемент div.
Кроме того, это менее приоритетно, но что происходит, когда присутствует неравномерное количество массивов, и оно не может делиться поровну пополам?
Большое вам спасибо! Это выходит за рамки моего опыта и я уверен, что есть кто-то, кто лучше понимает это, чем я.
Thank вы очень Borgtex; хотя это не полностью решило мою проблему, оно приблизилось. То, что было сделано, было положено 9 в первом div, а 11 во втором div [в массиве из 20 элементов]. Я ищу его, чтобы разбить его ровно пополам, если это возможно, или если это неравномерная сумма, поместите большую сумму в первый div и меньшую сумму во втором div. Если бы вы могли звонить дальше, я бы очень признателен. Большое спасибо за Вашу помощь! –
Вы уверены? он должен показать 10 - 10 ... обратите внимание, что {$ var.variant} должен быть до {if}, а не после него, как это было в вашем исходном коде – Borgtex
Еще раз спасибо моему другу. Хотя я сделал несколько изменений, это были вещи, которые не были упомянуты мной раньше, и ваша помощь, которая решила эту проблему, так что спасибо вам большое. Ниже приведено оперативное уравнение, в котором я сделал его так, чтобы он разделил массивы пополам, когда массив больше 16. Я очень ценю вашу помощь; +1 к вашему ответу. '{if ($ smarty.foreach.var.iteration> 8) && ($ smarty.foreach.var.iteration == $ loop_middle | ceil)}' –