Smarty将图像分割到第二行中途循环

时间:2012-12-01 11:07:40

标签: php smarty

我按顺序排列了一系列图像:

1-3是主要图像。 3+是缩略图。

问)如何将拇指分成2行。

E.g:

<div class="main-images">
{section name="i" loop=$images.rows}
{assign var="rows" value=$images.rows[i]}
    {if $smarty.section.i.index <= 2}
    <img />
    {/if}
{/section}
</div>

<div class="thumbs-images">
{math assign=thumbs_count equation="total - other" total=$images.rowcount other=3}
{section name="i" loop=$images.rows}
{assign var="rows" value=$images.rows[i]}
    {if $smarty.section.i.index >= 3}
    <img />
    {/if}
{/section}
</div>

所以我需要添加一些{if $thumbs_count >= $smarty.section.i.index}<div style="clear:both" />{/if},这样就会出现在第二个循环的中间位置。

1 个答案:

答案 0 :(得分:2)

管理以解决这个问题。

{math assign="total_row_split" equation="floor((total - main) / division)" total=$images.rows|@count division=2 main=3}
{counter start=0 print=false assign="thumbs_count"}
{section name="i" loop=$images.rows}
{assign var="rows" value=$images.rows[i]}
    {if $smarty.section.i.index >= 3}
    {if $thumbs_count == $total_row_split}<br style="clear:both" />{/if}
    <a href="{$HOME}/get/image{$rows.filename.fvalue}" rel="fancy" title="{$rows.title.value|default:$product.name.fvalue}">
        <img src="{$HOME}/get/image/120{$rows.filename.fvalue}" alt="{$rows.title.value|default:$product.name.fvalue} Picture" />
    </a>
    {counter print=false}
    {/if}
{/section}