40分求ThinkPHP迴圈嵌套列印出父類與子類的列表,該如何解決
來源:互聯網
上載者:User
40分求ThinkPHP迴圈嵌套列印出父類與子類的列表
大家好,我近段時間在學習thinkPHP架構,我想在模板頁面實現迴圈列印出一個資料列表,格式是:先是父類類別名稱,再接著列印出對應的子類列表,再接著列印另外一個父類名稱,再列印該父類的對應的子類,以此類推。。。我是用表格排版,格式如:
類別名 簡介
父類名稱1 ......
子類名稱1 .....
子類名稱2 .....
子類名稱3 .....
父類名稱2 ......
子類名稱1 .....
子類名稱2 .....
子類名稱3 .....
請問用volist該怎樣實現,或者有沒有更好的方法,請指教,感激不盡!!
------解決方案--------------------
你不看他的手冊嗎?
Volist標籤
Volist標籤主要用於在模板中迴圈輸出資料集或者多維陣列。
通常模型的select和findall方法返回的結果是一個二維數組,可以直接使用volist標籤進行輸出。
在Action中首先對模版賦值:
$User = M('User');
$list = $User->select();
$this->assign('list',$list);
在模版定義如下,迴圈輸出使用者的編號和姓名:
{$vo.id}
{$vo.name}
Volist標籤的name屬性工作表示模板賦值的變數名稱,因此不可隨意在模板檔案中改變。id表示當前的迴圈變數,可以隨意指定,但確保不要和name屬性衝突,例如:
{$data.id}
{$data.name}
支援輸出部分資料,例如輸出其中的第5~15條記錄
{$vo.name}
輸出偶數記錄
{$vo.name}
Mod屬性還用於控制一定記錄的換行,例如:
{$vo.name}
輸出迴圈變數
{$k}.{$vo.name}
如果沒有指定key屬性的話,預設使用迴圈變數i,例如:
{$i}.{$vo.name}
如果要輸出數組的索引,可以直接使用key變數,和迴圈變數不同的是,這個key是由資料本身決定,而不是迴圈控制的,例如:
{$key}.{$vo.name}
volist還有一個別名iterate,用法和volist是一樣。