在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,就是为负数。