thinkphp调用二级栏目,volist多层嵌套
之前主要是想解决多层级分类,并且想每层的分类的标题都显示出来
于是找到一位大神前辈写的
原文链接:http://www.thinkphp.cn/code/947.html
主要怕文章找不到了,所以复制一遍
thinkphp调用二级栏目(二级分类) 函数+模板+控制器 完整代码送上
可能很多人在以thinkphp框架开发自己的cms 等程序中,
对于2级分类2级栏目提出了很多问题,因为我也在找这个问题,
所以今天完整的送上,别问我是谁,我叫小曾,可以加我QQ839024615嘻嘻
首先您得有数据表 必须有id字段 上级id字段(父级字段,也就是他爸爸是谁)
表结构如图所示:
id为自己 sid为上级id 也就是父级 他爸爸是谁 (px我设为排序,这个不在本话题)
sid说明 0表示顶级 他没有爸爸是祖宗了哈
控制器代码
- //取顶级分类控制器
- public function index(){
- $Data=M('Type');
- $where['sid']=0; //先取他祖宗出来
- $list=$Data->where($where)->order('px')->select();
- $this->assign('list',$list);
- $this->display();
- }
函数代码放在/项目/Common/Common.php 根据你自己来配哈
- //取子分类
- function SidType($sid){
- $Data=M('Type');
- $where['sid']=$sid;
- $list=$Data->where($where)->order('px')->select();
- return $list;
- }
- <table width="100%" border="0">
- <tr class="th">
- <th scope="col" width="10%">ID</th>
- <th scope="col" width="10%">排序</th>
- <th scope="col" style="text-align:left;" width="60%">名称</th>
- <th scope="col" width="30%">操作</th>
- </tr>
- <!--顶级分类-->
- <volist name="list" id="vo">
- <tr class="tr">
- <td align="center">{$vo.id}</td>
- <td align="center"><input type="text" value="{$vo.px}" style="width:50px;" /></td>
- <td align="left">┣ {$vo.name}</td>
- <td align="center"><a href="{:U('Admin/updata','id='.$vo['id'])}">预览</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">内容</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">修改</a> <a url="{:U('Admin/del','id='.$vo['id'])}" href="#" class="f00 del">删除</a></td>
- </tr>
- <!--子分类-->
- <volist name=":SidType($vo['id'])" id="vo">
- <tr class="tr">
- <td align="center">{$vo.id}</td>
- <td align="center"> <input type="text" value="{$vo.px}" style="width:50px;" /></td>
- <td align="left">┗━ {$vo.name}</td>
- <td align="center"><a href="{:U('Admin/updata','id='.$vo['id'])}">预览</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">内容</a> <a href="{:U('Admin/updata','id='.$vo['id'])}">修改</a> <a url="{:U('Admin/del','id='.$vo['id'])}" href="#" class="f00 del">删除</a></td>
- </tr>
- </volist>
- </volist>
- </table>
下面简写一下,取下级的下级的下级,,,,无限取
- //顶级
- <volist name="list" id="vo">
- //二级
- <volist name=":SidType($vo['id'])" id="vo">
- //三级
- <volist name=":SidType($vo['id'])" id="vo">
- //....一直无限取哈
- </volist>
- </volist>
- </volist>