Thinkphp无限级分类代码

时间:2021-05-26

本篇就一点一点教大家写一个无限级分类出来,其实掌握一个知识,最主要的是要掌握无限级分类的逻辑,那么写起来就很容易的多了。
首先看数据库表:xp_cate

控制器:CateAction.class.php

<?phpclass CateAction extends Action{function index(){$cate=M('Cate');$list=$cate->field("id,name,pid,path,concat(path,'-',id) as bpath")->order('bpath')->select();foreach($list as $key=>$value){$list[$key]['count']=count(explode('-',$value['bpath']));}$this->assign('alist',$list);$this->display();}//添加栏目function add(){$cate=new CateModel();if($vo=$cate->create()){if($cate->add()){$this->success('添加栏目成功');}else{$this->error('添加栏目失败');}}else{$this->error($cate->getError());}}}?>

模型:CateModel.class.php

<?phpclass CateModel extends Model{//对应数据库中的表xp_cateprotected $_auto=array(array('path','tclm',3,'callback'),);function tclm(){$pid=isset($_POST['pid'])?(int)$_POST['pid']:0;echo ($pid);if($pid==0){$data=0;}else{$list=$this->where("id=$pid")->find();$data=$list['path'].'-'.$list['id'];//子类的path为父类的path加上父类的id}return $data;}}?>

模板:index.html

<form action="/Article/add" method="post">请选择父级栏目:<select name="pid" size="20"><option value="0">根栏目</option><volist name="alist" id="vo"><option value="{$vo['id']}"><for start="0" end="$vo['count']">&nbsp;&nbsp;</for>{$vo['name']}</option></volist></select><br />新的栏目名称:<input type="text" name="name" /><br /><input type="submit" value="添加栏目" /></form>

显示结果如下:

有没有掌握无限级分类的逻辑,上文分享的thinkphp无限级分类代码,希望对大家的学习有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章