thinkphp无限分类应用,仿织梦栏目管理

jerry thinkphp 2015年11月18日 收藏
最近官网上关于无限分类的分享很多,大象也来分享一下我的无限分类,是看了织梦的栏目管理后得写出来的,优点是管理方便,多层级,为此我还写了jquery进行关闭展开分类,缺点是不可重用,希望高手们能给出见解,变成一个可重用的,不过我觉得栏目管理这东西,一个站最多一个,所以重用意义也不大。大象QQ:576272452
织梦的栏目管理非常帅,多级栏目显示上面非常清晰,今天大象仿了个织梦的多级栏目管理,废话不多说,上代码

1、递归类 Typeunit.calss.php
<?
class Typeunit {
    /**
     *  读出所有分类,在类目管理页(list_type)中使用
     *
     * @access    public
     * @param     int   $table  表名
     * @param     int   $topid  当前操作ID
     * @return    string
     */
     public function ListType($table='keshi',$topid=0){
        $Form = M($table);
        $list = $Form->where('topid='.$topid)->order("sort desc,id asc")->select();
        foreach ($list as $k => $v) {
             echo '<tr align="center"  bgcolor="#FBFCE2" height="22" class="fid"><td width="7%"><span class="jia"></span>ID</td><td width="14%">'.$v['id'].'</td><td width="14%">'.$v['name'].'</td><td>操作</td></tr>';
             $this->ListTypeSeed($table,$v['id']);
         } 
    }
       
    /**
     *  读出子分类
     *
     * @access    public
     * @param     int   $table  表名
     * @param     int   $topid  当前操作ID
     * @return    string
     */
    private function ListTypeSeed($table,$topid){
        $Form = M($table);
        $list = $Form->where('topid='.$topid)->order("sort desc,id asc")->select();
        if($list){
            echo '<tr align="center"  bgcolor="#FFFFFF" height="22" class="seed"><td colspan="4"><table width="98%">';
            foreach ($list as $k => $v) {
                 echo '<tr align="center" bgcolor="#FAFAF1" height="22"><td width="7%"><span class="jia"></span>ID</td><td width="14%">'.$v['id'].'</td><td width="14%">'.$v['name'].'</td><td>操作</td></tr>';
                 $this->ListTypeSeed("keshi",$v['id']);
             }
            echo '</table></td></tr>';
        }
    }
}
?>
2、模板页面 index.html
<script>
$(function(){
    /*
    * 点击展开子类
    *
    */
    $(".jia").click(function(){
        if($(this).parent("td").parent("tr").next(".seed").is(":hidden")){
            $(this).parent("td").parent("tr").next(".seed").show();
            $(this).html("-");
        }else{
            $(this).parent("td").parent("tr").next(".seed").hide();
            $(this).html("+");  
        }
          
    });
    //初始化全部都是-号
    $(".seed").prev(".fid").find("td").find("span.jia").html("-");
      
    /*
    * 点击关闭所有子类
    *
    */
    $("#closeseed").click(function(){
        if($(this).val() == "展开所有子类"){
            $(".seed").show();
            $(this).val("关闭所有子类");
            $.each($(".jia"),function(k,v){
                if($(this).html()){
                    $(this).html("-");
                }
            });                     
        }else{
            $(".seed").hide();
            $(this).val("展开所有子类");
            $.each($(".jia"),function(k,v){
                if($(this).html()){
                    $(this).html("+");
                }
            });     
        }       
    });
});
</script>
<php>
    $tu = new Typeunit();
    $tu->ListType('keshi',0);
</php>