在 {foreach} 區塊內可透過 $smarty.foreach.名稱.屬性 存取:
| 屬性 | 說明 |
|---|---|
index | 當前索引(0 起算) |
iteration | 當前迴圈次數(1 起算) |
first | 首次迴圈為 true |
last | 最後一次迴圈為 true |
show | 是否顯示(受 {foreachelse} 影響) |
total | 總迴圈次數 |
{foreach from=$VIDEO_INFO_LIST item=infolist name=infolist}
{$VIDEO_INFO_LIST|@count} {* 陣列長度 *}
{$smarty.foreach.infolist.index} {* 0-based 索引 *}
{$smarty.foreach.infolist.iteration} {* 1-based 次數 *}
{$smarty.foreach.infolist.first} {* 首筆 *}
{$smarty.foreach.infolist.last} {* 尾筆 *}
{$smarty.foreach.infolist.total} {* 總筆數 *}
{/foreach}
{foreach from=$VIDEO_INFO_LIST item=infolist name=infolist}
{if $smarty.foreach.infolist.iteration <= 5}
<li>{$infolist}</li>
{/if}
{/foreach}
{foreach from=$VIDEO_INFO_LIST item=infolist name=infolist}
{assign var=floor value=$smarty.foreach.infolist.index}
{if $floor < 5}
<li>{$infolist}</li>
{/if}
{/foreach}
<?php
$displayList = array_slice($VIDEO_INFO_LIST, 0, 5);
$smarty->assign('displayList', $displayList);
?>
{foreach from=$displayList item=infolist}
<li>{$infolist}</li>
{/foreach}
{* 假設 $page 當前頁 $perPage 每頁筆數 *}
{foreach from=$list item=row name=pager}
{if $smarty.foreach.pager.iteration > ($page-1)*$perPage && $smarty.foreach.pager.iteration <= $page*$perPage}
<div>{$row.title}</div>
{/if}
{/foreach}