在include/global.func.php中添加如下函数
- function get_maincata($catid, $moduleid, $level = -1) {
- global $db;
- $condition = $catid ? "parentid in($catid)" : "moduleid=$moduleid AND parentid=0";
- if($level >= 0) $condition .= " AND level=$level";
- $cat = array();
- $result = $db->query("selec catid,catname,child,style,linkurl,item from {$db->pre}category wher $condition ORDER BY listorder,catid ASC", 'CACHE');
- while($r = $db->fetch_array($result)) {
- $cat[] = $r;
- }
- return $cat;
- }
示例:
- 顶级分类传
- {php $big = get_maincata("1,2,3,4,5,6,7,8,9", $mid, 1);}
- {loop $big}
- 下级分类传
- {php $samll = get_maincata($v[catid], $mid, 1);}
- $v[catid]为传动态分类id 参照默认多级栏目调用
- 示例三级调用:
- {php $mid=5;}
- {php $big = get_maincata("1,2,3,4,5,6,7,8,9", $mid, 1);}
- {loop $big $i $c}
- 一级栏目调用显示HTML
- {php $samll = get_maincata($c[catid], $mid, 1);}
- {loop $sall $k $v}
- 二级栏目代码
- {php $sanji = get_maincata($c[catid], $mid, 1);}
- {loop $sanji $j $s}
- 三级栏目代码
- {/loop}
- {/loop}
- {/loop}
四级调用继续在三级里面传就行了,不过三级应该就够用了。
get_maincata($c[catid], $mid, 1) 函数解释
$c[catid] 是动态ID,为上级栏目ID调用变量,一级栏目时传多个栏目ID,需要用引号包起来。
$mid 是所要调用的频道ID,当前面有传分类ID时,该参数不起作用,也就是前面的栏目ID我们可以传多个不同频道的栏目ID
1 是栏目的推荐级别,数字不能小于0,就是为负数。