搜索
系统检测到您的用户名不符合规范:

用自定义的标签,循环分类。

浏览:1037 发布日期:2014年05月03日 分类:技术分享 关键字: 递归分类 自定义标签 二级 分类
<Think:mycate name='ct' id='vo'>
<if condition="count($ct['child']) gt 0">
<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"> {$ct.title}<b class="caret"></b>
<ul class="dropdown-menu open">
<volist name="ct['child']" id="vs">
<li><a href="{:U('/home/article/lists/category/'.$vs[id])}">{$vs.title}</a></li>
</volist>
</ul>
</li>
<else />
<li ><a href="{:U('/home/article/lists/category/'.$ct[id])}" > {$ct.title}</a></li>

</if>
</Think:mycate>

记住返回的数据必须是多维数组,
count($ct['child']) gt 0 判断child的属猪是否大于0


一下代码放到 function.php里
//用途 递归分类
function dd($cate,$name="child",$pid=0){
$arr=array();
foreach($cate as $v){
if($v["pid"]==$pid){
$v[$name]=dd($cate,$name,$v["id"]);
$arr[]=$v;
}

}

return $arr;
}
下TagLib下的think.php里定义标签。
'mycate' => array('attr'=>'id,name','close' => 1),


添加function

public function _mycate($tag, $content){
$parse='<?php ';
$parse .='$cate= M(\'category\')->select();';
$parse.='$__CL__=dd($cate,$name=\'child\',$pid=0);';
$parse.='($__CL__);';
$parse .= '?>';
//dump($parse);
$parse.='<volist name="__CL__" id="'. $tag['name'] .'"> ';
$parse.=$content;
$parse.='</volist>';
return $parse;
}

不多说 慢慢摸索吧
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
猫的哈
积分:550 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /