屬性 | 類型 | 是否必須 | 預設值 | 描述 |
---|---|---|---|---|
##name | string | Yesn/a | ||
loop | [$variable_name] | Yesn /a | ||
start | integer | No0 | ||
step | integer | No1 | ||
max | integer | No1 | ||
#show | boolean | No#true |
{section loop = $varName[, start = $start, step = $step, max = $max, show = true]}
name: section的名稱,不用加$
$loop: 要循環的變量,在程式中要使用assign對這個變數進行操作。
$start: 開始循環的下標,循環下標預設由0開始
$step: 每次循環時下標的增數
$max: 最大循環下標
$show: boolean類型,決定是否對這個區塊進行顯示,預設為true
這裡有個名詞需要說明:
循環下標:實際它的英文名稱為index,是索引的意思,這裡我將它譯成"下標",主要是為了好理解。它表示在顯示這個循環區塊時當
前的循環索引,預設從0開始,受$start的影響,如果將$start設為5,它也將從5開始計數,在模板設計部分我們使用過它,這是目前
{section}的屬性,呼叫方式為Smarty.section.sectionName.index,這裡的sectionName指的是函數原型中的name屬性。
{section}區塊具有的屬性值,分別為:
1. index: 上邊我們介紹的"循環下標",預設為0
2. index_prev: 目前下標的前一個值,預設為-1
3. index_next: 目前下標的下一個值,預設為1
4. first: 是否為第一下循環
5. last: 是否為最後一個循環
6. iteration: 循環次數
7. rownum: 目前的行號,iteration的另一個別名
8. loop: 最後一個循環號,可用在section塊後統計section的循環次數
9. total:循環次數,可用在section塊後統計循環次數
10. show: 在函數的聲明中有它,用於判斷section是否顯示
*foreach循環
1. foreach:用於循環簡單數組,它是一個選擇性的section循環,它的定義格式為:
{foreach from=$array item=array_id}
{foreachelse}
{/foreach}
其中,from 指出要迴圈的數組變量,item為要循環的變數名稱,循環次數由from所指定的數組變數的數量決定。 {foreachelse}用來當程式中傳遞過來的陣列為空時的處理,以下是一個簡單的例子:
====================== =====================
example6.tpl
==================== =======================
<html> <head><title>这是一个foreach使用的例子</title></head> <body> 这里将输出一个数组:<br> <{foreach from=$newsArray item=newsID}> 新闻编号:<{$newsID.newsID}><br> 新闻内容:<{$newsID.newsTitle}><br><hr> <{foreachelse}> 对不起,数据库中没有新闻输出! <{/foreach}> </body> </html>
以上是smarty中的section循環的詳細用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!