我一直在阅读smarty中的最佳方法,将循环中的每个第4项设置为一个类,并且遇到了使用" interation"但是下面的示例代码是有效的,但是它将类应用于第4个之后的所有内容,并且我希望每隔4个应用最后一个类。使用这种方法可以吗?
{foreach from=$product.image_pairs item="image_pair" name="additional_images"}
{if $image_pair}
{if $image_pair.image_id == 0}
{assign var="img_id" value=$image_pair.detailed_id}
{else}
{assign var="img_id" value=$image_pair.image_id}
{/if}
{if $smarty.foreach.additional_images.iteration is div by 4}
{assign var="last_image" value="last"}
{/if}
{include file="common_templates/image.tpl" images=$image_pair object_type="detailed_product" link_class="cm-thumbnails-mini $last_image" image_width=$th_size image_height=$th_size show_thumbnail="Y" show_detailed_link=false obj_id="`$preview_id`_`$img_id`_mini" make_box=true wrap_image=true}
{/if}
{/foreach}
结果:
<a class="">content</a>
<a class="">content</a>
<a class="">content</a>
<a class="">content</a>
<a class="last">content</a>
<a class="last">content</a>
<a class="last">content</a>
答案 0 :(得分:0)
{assign var="last_image" value="last"}
将在第4次迭代时分配此变量,这将适用于下一次迭代。您应该添加else
并将空字符串分配给此变量。