volist標籤主要用於在模板中迴圈輸出資料集或者多維陣列。
volist標籤(迴圈輸出資料)
閉合非閉合標籤
屬性name(必須):要輸出的資料模板變數
id(必須):迴圈變數
offset(可選):要輸出資料的offset
length(可選):輸出資料的長度
key(可選):迴圈的key變數,預設值為i
mod(可選):對key值取模,預設為2
empty(可選):如果資料為空顯示的字串
通常模型的select方法返回的結果是乙個二維陣列,可以直接使用volist標籤進行輸出。
在action中首先對模版賦值:$user = m
('user'
);$list = $user
->
select
();$this
->
assign
('list'
,$list
);在模版定義如下,迴圈輸出使用者的編號和姓名:
name
="list"id=
"vo"
>
volist標籤的name屬性表示模板賦值的變數名稱,因此不可隨意在模板檔案中改變。id表示當前的迴圈變數,可以隨意指定,但確保不要和name屬性衝突,例如:
name
="list"id=
"data"
>
支援輸出部分資料,例如輸出其中的第5~15條記錄
name
="list"id=
"vo"
offset
="5"
length
='10'
>
輸出偶數記錄
name
="list"id=
"vo"
mod=
"2">
name
="mod"
value
="1"
>
mod屬性還用於控制一定記錄的換行,例如:
name
="list"id=
"vo"
mod=
"5">
name
="mod"
value
="4"
>
name
="list"id=
"vo"
empty
="暫時沒有資料"
>
|empty屬性不支援直接傳入html語法,但可以支援變數輸出,例如:$this
->
assign
('empty'
,'沒有資料'
);$this
->
assign
('list'
,$list
);然後在模板中使用:
name
="list"id=
"vo"
empty
="$empty"
>
|輸出迴圈變數
name
="list"id=
"vo"
key=
"k">
.如果沒有指定key屬性的話,預設使用迴圈變數i,例如:
name
="list"id=
"vo"
>
.如果要輸出陣列的索引,可以直接使用key變數,和迴圈變數不同的是,這個key是由資料本身決定,而不是迴圈控制的,例如:
name
="list"id=
"vo"
>
.從2.1版開始允許在模板中直接使用函式設定資料集,而不需要在控制器中給模板變數賦值傳入資料集變數,如:
name
=":fun('arg')"id=
"vo"
>
thinkphp迴圈輸出
在thinkphp裡支援兩種迴圈輸出 第一種是volist,第二種是foreach標籤 第一種方式輸出的過程 在控制器裡先對模板賦值 user m user list user limit 10 select this assign list list list是乙個二維陣列 在模板定義迴圈 nam...
ThinkPHP 多表迴圈遍歷輸出
在做專案的時候,經常會遇到分類樹輸出,有可能是多級,有可能是兩級,用得較多的應該是兩級選單樹了,比如後台的選單管理,最近做的乙個專案是兩個表需要迴圈出來,乙個是分類的,另乙個是子分類內容,然後這兩個分類要整合到一起做成乙個選單樹,然後在另外乙個頁面進行呼叫儲存。我的天,邏輯好麻煩,好了,先上 thi...
Thinkphp 模板 原樣輸出
可以使用literal標籤來防止模板標籤被解析,例如 value1 value2 value3 上面的if標籤被literal標籤包含,因此if標籤裡面的內容並不會被模板引擎解析,而是保持原樣輸出。如果你的php標籤中需要輸出類似 或者 xml標籤的情況,可以通過新增literal標籤解決混淆問題,...