Twitter bootstrap Smarty foreach迭代每n次更新一列

Twitter bootstrap Smarty foreach迭代每n次更新一列,twitter-bootstrap,foreach,iteration,smarty,Twitter Bootstrap,Foreach,Iteration,Smarty,我知道这个问题得到了回答,但方式有点不同 我希望循环的每6次都有一个新的引导列,所以它看起来像这样: <div class="row"> <div class="col-xs-6"> <a href="#">LINK1</a> <a href="#">LINK2</a> <a href="#">LINK3</a> <a hr

我知道这个问题得到了回答,但方式有点不同

我希望循环的每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>
当第6次迭代开始时为真,因此smarty在5次迭代后创建一个新列。另外,
在第6次关闭时不是关闭,而是第5次关闭


有什么建议吗?

最简单的方法是使用索引而不是迭代,因为索引从0开始

<div class="row">
    {foreach name='sub_categories' from=$sub_categories item='sub'}
        {if $smarty.foreach.sub_categories.first or $smarty.foreach.sub_categories.index is div by 6}
        <div class="col-xs-6">
        {/if}
           <a href="#">LINK</a>
        {if $smarty.foreach.sub_categories.last || $smarty.foreach.sub_categories.iteration is div by 6}
        </div>
        {/if}
    {/foreach}
</div>

{foreach name='sub_categories'from=$sub_categories item='sub'}
{如果$smarty.foreach.sub_categories.first或$smarty.foreach.sub_categories.index被6除掉}
{/if}
{如果$smarty.foreach.sub_categories.last | |$smarty.foreach.sub_categories.iteration被6除掉}
{/if}
{/foreach}

此外,您可能还需要检查子类别。最后一个用于结束div,以防项目数不是6的倍数,即9

谢谢。当我尝试{if$smarty.foreach.sub_categories.index是div by 6}时,第一次迭代就是这样。为什么在第一次迭代中“div被6除掉”是真的?第一个索引是0,0可以被任何数字整除;实际上,你可以删除sub_categories.first条件,它仍然可以工作。这就是为什么你必须在第一个条件中使用索引,在第二个条件中使用迭代哦!我错过了你们在迭代中更改索引的那个些小细节。非常感谢。现在可以用了。:)
$smarty.foreach.sub_categories.iteration is div by 6
<div class="row">
    {foreach name='sub_categories' from=$sub_categories item='sub'}
        {if $smarty.foreach.sub_categories.first or $smarty.foreach.sub_categories.index is div by 6}
        <div class="col-xs-6">
        {/if}
           <a href="#">LINK</a>
        {if $smarty.foreach.sub_categories.last || $smarty.foreach.sub_categories.iteration is div by 6}
        </div>
        {/if}
    {/foreach}
</div>