一、实现效果
二、主要代码
1、模板
2、控制器
·index模块
·add模块
3、模型
三、代码
以便于各位看官复制测试
1、模板
1
2
3
4
5
6
7
8
9
10
11
|
<form action= "__url__/add" method= "post" > 栏目<select name= "fid" size=20> <option value= "0" >栏目</option> <volist name= 'list' id= 'vo' > <option value= "{$vo['id']}" > { $vo [ 'blank' ]}{ $vo [ 'name' ]}</option> </volist> </select><br/> 添加栏目:<input type= "text" name= 'name' /><br/> <input type= "submit" value= "添加" /> </form> |
2、控制器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php 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 < $layer ; $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、模型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?php 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的自动完成实现无限级分类实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/TigerYangWTH/p/5833424.html