gaofeigz 发表于 2015-4-27 17:15:16

destoon 栏目多级循环调用多个指定id分类下面的栏目方法

在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("SELECT catid,catname,child,style,linkurl,item FROM {$db->pre}category WHERE $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, $mid, 1);}

$v为传动态分类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, $mid, 1);}
{loop $sall $k $v}
二级栏目代码


{php $sanji = get_maincata($c, $mid, 1);}
{loop $sanji $j $s}
三级栏目代码
{/loop}


{/loop}


{/loop}

四级调用继续在三级里面传就行了,不过三级应该就够用了。

get_maincata($c, $mid, 1) 函数解释

$c 是动态ID,为上级栏目ID调用变量,一级栏目时传多个栏目ID,需要用引号包起来。

$mid 是所要调用的频道ID,当前面有传分类ID时,该参数不起作用,也就是前面的栏目ID我们可以传多个不同频道的栏目ID

1 是栏目的推荐级别,数字不能小于0,就是为负数。


模板堂出品,必属精品!www.dtmoban.com

liupt 发表于 2015-4-27 17:39:37


谢谢lz共享,非常好

龙在天涯 发表于 2015-4-28 08:47:43


不错,收藏了

qsbiz 发表于 2015-7-29 21:01:00


终于找到了 谢谢ieee
页: [1]
查看完整版本: destoon 栏目多级循环调用多个指定id分类下面的栏目方法