gaofeigz 发表于 2015-8-9 22:50:42

destoon调用指定顶级分类的方法

本方法主用来调用某个分类的顶级分类,或者二级,三级,指定级别的分类

如:

   例一: 顶级分类>二级分类>三级分类>四级分类>五级分类>六级分类

   例二:顶级分类>二级分类>三级分类>四级分类>

以上两个例子中,一个分类树是六级,一个分类树是四级,下面客户有一个需求,不管是在 例一的六级分类下,还是例二的四级分类下的文章内容或者列表页,调用出本分类的上级分类中的二级分类。

(PS:当然也可能是调用顶级分类或者三级分类),有些分类树可能还更多级别,或者只有两级,也就是说不管在任何分类下的文章,我都只调用他的上级分类的第二级别的分类名称。

相信这个需求还是有不少会有的,下面说调用方法

首先在include/global.func.php 增加一个函数

function spid($catid,$level) {
      global $db;
      $catid = intval($catid);
      $row = $db->get_one("selec parentid,arrparentid,catid from {$db->pre}category wher catid=$catid", 'CACHE');
      $arrparentids = $row['arrparentid'];
      $arrparentid = explode(',', $arrparentids);
      $pid = $arrparentid[$level];
      $pid = isset($pid) ? intval($pid) : 0;
      return $pid;
}

调用方法
列表循环中:{spid($t,3)}
内容页:{spid($catid,3)}

里面的3指的调用二级分类,2调用的是顶级分类,4调用的是三级分类,以此类推,因为在DT的分类表中arrparentid字段的第一位无论是几分类都是0,所以我们调用上级分类时要往后推一位。

如果不懂,请加群:61291160

joy 发表于 2015-8-10 09:04:30


楼主 好心人

zhao90 发表于 2015-8-10 16:37:06


不错不错

qsbiz 发表于 2015-8-11 13:44:03


可以,楼主精神值得学习
页: [1]
查看完整版本: destoon调用指定顶级分类的方法