织梦使用channelartlist reid属性调用同级栏目

在使用织梦(dedecms)制作网站的时候,经常会遇到调用同级栏目的需求,dedecms自身提供的方法只能通过指定父栏目id来实现 {dede:channelartlist typeid=‘父栏目id’ row='条数'},那么在不知道上级栏目名称的情况下是无法获取到同级栏目的,现在小鱼儿博客园在这里和大家介绍一种自动获取当前栏目的同级栏目的方法

1、首页找到/include/taglib/channelartlist.lib.php 文件查找: 

$attlist = 'typeid|0,row|20,cacheid|';

修改为:

$attlist = 'typeid|0,row|20,cacheid|,type|';     //这边加个type实现在子栏目下调用同级子栏目的信息

2、然后查找:

if($typeid==0 || $typeid=='top') {         $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";     }

修改为:

if($type=='reid')    //调用上级目录下的子栏目内容       {                  $reid = $refObj->TypeLink->TypeInfos['reid'];   $tpsql = " reid='$reid' AND ispart<>2 AND ishidden<>1 ";        }      else if($typeid==0 || $typeid=='top') {      $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";      }

保存上面文件。然后在列表页或者内容页使用{dede:channelartlist type='reid' row='5'}底层循环代码{/dede:channelartlist}  就可以方便调用当前栏目的同级栏目信息了。
 


支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论