网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

使用DedeCMS织梦的channelartlist标签和reid属性调用同级栏目

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

打开文件 include aglibchannelartlist.lib.php

查找

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

修改为:

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

然后查找:

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}就可以方便调用当前栏目的同级栏目信息了。

(责任编辑:admin)

    468x60