這篇文章主要介紹了關於Thinkphp中的volist標籤用法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
通常volist標籤多用於查詢資料集(select方法)的結果輸出,通常模型的select方法返回的結果是一個二維數組,對此可以直接使用volist標籤進行輸出。
在控制器中首先對模版賦值,如下例所示:
$User = M('User');$list = $User->limit(10)->select();$this->assign('list',$list);
在模版定義如下,迴圈輸出使用者的編號和姓名:
<volist name="list" id="vo">{$vo.id}:{$vo.name}<br/></volist>
Volist標籤的name屬性工作表示模板賦值的變數名稱,因此不可隨意在模板檔案中改變。id表示當前的迴圈變數,可以隨意指定,但需要確保不要和name屬性衝突,例如:
<volist name="list" id="data">{$data.id}:{$data.name}<br/></volist>
支援輸出查詢結果中的部分資料,例如輸出其中的第5~15條記錄:
<volist name="list" id="vo" offset="5" length='10'>{$vo.name}</volist>
輸出偶數記錄:
<volist name="list" id="vo" mod="2" ><eq name="mod" value="1">{$vo.name}</eq></volist>
Mod屬性還用於控制一定記錄的換行,例如:
<volist name="list" id="vo" mod="5" >{$vo.name}<eq name="mod" value="4"><br/></eq></volist>
為空白的時候輸出提示:
<volist name="list" id="vo" empty="暫時沒有資料" >{$vo.id}|{$vo.name}</volist>
empty屬性不支援直接傳入html文法,但可以支援變數輸出,例如:
$this->assign('empty','<span class="empty">沒有資料</span>');$this->assign('list',$list);
然後在模板中使用:
<volist name="list" id="vo" empty="$empty" >{$vo.id}|{$vo.name}</volist>
輸出迴圈變數:
<volist name="list" id="vo" key="k" >{$k}.{$vo.name}</volist>
如果沒有指定key屬性的話,預設使用迴圈變數i,例如:
<volist name="list" id="vo" >{$i}.{$vo.name}</volist>
如果要輸出數組的索引,可以直接使用key變數,和迴圈變數不同的是,這個key是由資料本身決定,而不是迴圈控制的,例如:
<volist name="list" id="vo" >{$key}.{$vo.name}</volist>
模板中可以直接使用函數設定資料集,而不需要在控制器中給模板變數賦值傳入資料集變數,如:
<volist name=":fun('arg')" id="vo">{$vo.name}</volist>