tp3.2无限极分类的实现,最新版本

浏览:6658 发布日期:2014/02/05 分类:技术分享 关键字: 无限极分类,无限级分类实现


1,Controller部分
public function index(){
$cate=M('File_type');
$list=$this->FiletypeDB->field("file_type_id,file_type_name,file_type_pid,file_type_path,file_type_status,concat(file_type_path,'-',file_type_id) as bpath")->order('bpath')->select();
foreach($list as $key=>$value){
$list[$key]['count']=count(explode('-',$value['bpath']))-2;

if($list[$key]['count']>0)
{
$list[$key]['treeName'] = $this->getStr($list[$key]['count']).'└─'.$list[$key]['file_type_name'];
}
else
{
$list[$key]['treeName'] = $list[$key]['file_type_name'];
}
}

$this->assign('alist',$list);
$this->display();
}

private function getStr($p)
{
$str = "   ";
for($i=1;$i<$p;$i++)
{
$str.="       ";
}
return $str;
}

public function add(){
$cate= new File_typeModel();//D('File_type');

if($vo=$cate->create()){
if($cate->add()){
$this->success('添加栏目成功');
}
else{
$this->message = '添加栏目失败!';
$this->error();
}
}
else{
$this->message = '创建失败';//$cate->getError();
$this->error();
}
}

2,Model部分
protected $_validate = array(
array('file_type_name','require','用户不能为空!',3,'',1),//在新增的时候验证name字段是否不为空
array('file_type_name','','帐号名称已经存在!',0,'unique',1), // 在新增的时候验证name字段是否唯一
);

protected $_auto=array(
array('file_type_status','1'), // 新增的时候把status字段设置为1
array('file_type_path','tclm',3,'callback'),
);

function tclm(){
$pid=isset($_POST['file_type_pid'])?(int)$_POST['file_type_pid']:0;
echo ($pid);
if($pid==0){
$data=0;
}else{
$list=$this->where("file_type_id=$pid")->find();
$data=$list['file_type_path'].'-'.$list['file_type_id'];//子类的path为父类的path加上父类的id
}
return $data;
}

3,html部分
<div class="map">当前位置:内容管理>>内容类别管理</div>
<table id="adminView" >
<thead>
<tr>
<th width="50">编号</th>
<th width="200">类别名称</th>
<th width="200">排序</th>
<th width="50">状态</th>
<th width="70">操作</th>
</tr>
</thead>
<tbody>
<volist name="alist" id="lft">
<tr>
<td>{$lft.file_type_id}</td>
<td class="l">{$lft.treeName}</td>
<td>{$lft.file_type_order}</td>
<td><a href="__URL__/status/id/{$lft.file_type_id}/st/{$lft.file_type_status}">{$lft['file_type_status']?'激活':'禁用'}</a></td>
<td><a href="__URL__/edit/id/{$lft.file_type_id}/name/{$lft.file_type_name}">修改</a> <a href="__URL__/del/id/{$lft.file_type_id}">删除</a></td>
</tr>
</volist>
</tbody>
<tfoot>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tfoot>
</table>
<form name="form1" method="post" action="__URL__/add">
<table width="471">
<tr>
<td width="98" align="right">上级类别:</td>
<td width="173">
<label>
<select name="file_type_pid" id="file_type_pid">
<option value="0">根类别</option>
<volist name="alist" id="vo">
<option value="{$vo['file_type_id']}">{$vo['treeName']}</option>
</volist>
</select>
</label>
</td>
<td width="178"> </td>
</tr>
<tr>
<td align="right">类别名称:</td>
<td><input name="file_type_name" type="text" id="file_type_name" /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="Submit" value="添加类别">
</label></td>
<td> </td>
</tr>
</table>
</form>
最佳答案
评论( 相关
后面还有条评论,点击查看>>