thinkphp前台怎么输出无限极分类

 我来答
huanglenzhi
2015-04-14 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517192
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

最主要的是要掌握无限极分类的逻辑,那么写起来就很容易的多了


首先看数据库表:xp_cate



控制器: CateAction.class.php

<?php

 class 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

<?php

 class CateModel extends Model{//对应数据库中的表xp_cate

 protected $_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="!-URL-!/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']">

   

 </for>

 {$vo['name']}

 </option>

 </volist>

 </select><br />

 新的栏目名称:<input type="text" name="name" /><br />

 <input type="submit" value="添加栏目" />

 </form>

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式