tp5自定义模板标签--无限极分类菜单(1)

思路(这个属于伪模板标签,将就着用吧):

1.自己先创建一个模板库

 ['attr' => 'lipath,lilack,ullack', 'close' => 0], 
   ];
    public function tagSetmenu($tag)
    {
        $menu=db("menu")->where(array("status"=>'激活'))->select();
        $tree=getTree($menu);
        return $this->treeHtml($tree,$tag);

    }
     protected function treeHtml($tree,$str)
    {   
        //生成循环的菜单(ul/li)$tree 参数是树形的多维数组,$str 是ul li结构
        $html='';
        foreach($tree as $t){
            if(!$t['pid']){
                $html .=replaceStr(array("(setmenu.href)"=>$t['url']," (setmenu.name)"=>$t['name']),$str['lipath']);
            }else{
                $html.=replaceStr(array("(setmenu.href)"=>$t['url'],"(setmenu.name)"=>$t['name']),$str['lilack']);
                $html.=$this->treeHtml($t['pid'],$str);
                $html.=$str['ullack'];
            }
        }
        return $html ? $html : $html ;

    }
}

2. 在配置文件中模板配置数组里面增加一行'taglib_pre_load'=>"app\common\DefindTab",

 3.在模板文件里面使用模板标签

4 控制器里面的处理在(2)里面有详细代码

你可能感兴趣的:(工作中遇到的难点)