PHP 无限分类案例,使用ThinkPHP的自动完成实现无限级分类实例详解

一、实现效果

ea706ccb94f5ff64faf3fcb606228f4b.png

二、主要代码

1、模板

1171444679543e3c35b38ded1ae9832b.png

2、控制器

·index模块

d4537d92ca66434c58a4481ddd55ae2e.png

·add模块

4e95aba7461a37b0288ce0b2d12d6e13.png

3、模型

63ce61a03db9fd2f536459d35a0cb19e.png

三、代码

以便于各位看官复制测试

1、模板

栏目

栏目

{$vo['blank']}{$vo['name']}

添加栏目:

2、控制器

class IndexAction extends Action

{

/**

+----------------------------------------------------------

* 默认操作

+----------------------------------------------------------

*/

public function index(){

$Column=new ColumnModel();

$list=$Column->field("id,name,fid,sort,concat(sort,'-',id) nsort")->order('nsort asc')->select();

foreach($list as $key=>$val){

$layer=count(explode('-',$list[$key]['nsort']));

$list[$key]['blank']='';

for($i=0;$i

if($i==$layer-1){

$list[$key]['blank'].='---|';

}else{

$list[$key]['blank'].='---';

}

}

}

$this->assign('list',$list);

$this->display();

}

public function add(){

$Column=new ColumnModel;

$Column->create();

if($Column->add()){

$this->success('添加成功');

}else{

$this->error($Column->getError());

}

}

}

?>

3、模型

class ColumnModel extends Model{

protected $_auto=array(

array('name','trim',0,'function'),//过滤用户不小心输入的空白字符

array('sort','createsort',0,'callback'),

);

/*

*自动完成sort字段

*根据POST过来的fid来查询上级sort,以确定本级sort

*/

protected function createsort(){

$fid=$_POST['fid']?(int)$_POST['fid']:0;//如果用户没有选择父栏目,则默认父栏目id为0

if($fid!='0'){

$list=$this->where("id=$fid")->find();

$data=$list['sort'].'-'.$fid;

}else{

$data='0';

}

return $data;

}

}

?>

以上所述是小编给大家介绍的ThinkPHP的自动完成实现无限级分类实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值