Я знаю, что на этот вопрос был дан ответ, но немного по-другому.Smarty foreach iteration new column каждый n-й раз
Я хочу, чтобы новый столбец Bootstrap каждый 6-й раз петли так это выглядит следующим образом:
<div class="row">
<div class="col-xs-6">
<a href="#">LINK1</a>
<a href="#">LINK2</a>
<a href="#">LINK3</a>
<a href="#">LINK4</a>
<a href="#">LINK5</a>
<a href="#">LINK6</a>
</div>
<div class="col-xs-6">
<a href="#">LINK7</a>
<a href="#">LINK8</a>
<a href="#">LINK9</a>
<a href="#">LINK10</a>
<a href="#">LINK11</a>
<a href="#">LINK12</a>
</div>
</div>
Я пробовал:
<div class="row">
{foreach name='sub_categories' from=$sub_categories item='sub'}
{if $smarty.foreach.sub_categories.first or $smarty.foreach.sub_categories.iteration is div by 6}
<div class="col-xs-6">
{/if}
<a href="#">LINK</a>
{if $smarty.foreach.sub_categories.iteration-1 is div by 6}
</div>
{/if}
{/foreach}
</div>
Но это не работает, потому что:
$smarty.foreach.sub_categories.iteration is div by 6
true, когда 6-я итерация начинается так, что умение создает новый столбец после 5 итераций. Также <div>
не закрыт в 6-й раз, а в 5 раз.
Любые предложения?
Спасибо. Когда я пытаюсь {if $ smarty.foreach.sub_categories.index является div на 6}, это истинно для самой первой итерации. Почему на первой итерации верно «div на 6»? –
Ну, первый индекс равен 0 и 0 делится на любое число; на самом деле вы можете удалить условие sub_categories.first, и оно все равно будет работать. Вот почему вам нужно использовать индекс в первом условии и итерацию во втором – Borgtex
Oh! Я пропустил эту маленькую деталь, что вы изменили индекс на итерации. Спасибо! Он работает сейчас. :) –