夺命雷公狗TP3.2.3商城14-----无限极分类列表页

本文介绍如何使用ThinkPHP框架中的Model层自定义查询方法,实现树状结构的数据分类展示。通过定义分类模型并实现cateTree方法,可以按层级显示分类信息。

其实列表页也是和添加一样都是依赖于我们模型中定义的函数的查询方法进行查询的:

 

<?php
namespace Admin\Model;
use Think\Model;
class CateModel extends Model {
    protected $_validate = array(
        array('catename','require','分类名称不能为空',1)
    );
    //定义一个方法,获取树状的分类信息
    public function cateTree(){
        $cats = $this->order('id desc')->select();
        //通过tree里面的方法进行排序
        return $this->tree($cats);
    }
    public function tree($arr,$pid=0,$level=0){ //$level是自己定义出来的
        static $tree = array();
        foreach($arr as $v){
           if($v['pid']==$pid){
                //说明找到,保存
                $v['level'] = $level;
                $tree[] = $v;
                //继续找
                $this -> tree($arr,$v['id'],$level+1); //这里的cate_id表的id
            }
        }
        return $tree;
    }
        
}

 

然后回到我们的控制器:

 

public function lists(){
            $mod = D('cate');
            $data = $mod -> cateTree();
            $this -> assign('data',$data);
            $this -> display();
        }

 

然后在来设置下模版即可完成:

 

<volist name="data" id="vo">
                        <tr>
                            <td>{$vo.id}</td>
                            <td title="">{$vo['level']|str_repeat="▲&nbsp;&nbsp;&nbsp;",###} {$vo['catename']}</td>
                            <td>
                                <a class="link-update" href="__MODULE__/admin/edit/id/{$vo.id}">修改</a>
                                <a class="link-del" href="__MODULE__/admin/del/id/{$vo.id}">删除</a>
                            </td>
                        </tr>
                        </volist>

 

然后来看看下过,如下所示:

 

转载于:https://www.cnblogs.com/leigood/p/7258136.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值