dedecms二次开发:织梦使用channelartlist在列表页和内容页调用

2015-04-24 15:09 阅读 72 次 评论关闭

有关织梦channelartlist标签在调用结果时排除指导栏目的使用方法请查看文章《dedecms二次开发:织梦channelartlist调用结果排除指定typeid栏目数据》。

使用dedecms时,想在列表页内容页调用同级栏目的文章,当然可以使用{dede:channelartlist typeid=‘1’ row='5'}的方法,指定栏目id,但是要自动判断当前栏目的同级栏目就没办法了或者需要给每个顶级栏目分配一个模板,这样很麻烦。

本文将给一种更简单的办法

找到\include\taglib\channelartlist.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}

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:dedecms二次开发:织梦使用channelartlist在列表页和内容页调用 | 猎微网

评论已关闭!