找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1102|回复: 0

[分享] dede使用channelartlist在列表页和内容页调用同级栏目的方法

[复制链接]
发表于 2018-2-25 09:18:54 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
使用dede时,想在列表页和内容页调用同级栏目的文章,当然可以使用{dede:channelartlist typeid=‘1’ row='5'}的方法,指定栏目id,但是要自动判断当前栏目的同级栏目就没办法了或者需要给每个顶级栏目分配一个模板,这样很麻烦。本文将给一种更简单的办法

       找到\include\taglib\channelartlist.lib.php 文件

查找:
  1. $attlist = 'typeid|0,row|20,cacheid|';  
复制代码


修改为:
  1. $attlist = 'typeid|0,row|20,cacheid|,type|';     //这边加个 type 实现 在子栏目下调用   同级子栏目的信息
复制代码


然后查找:

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


修改为:

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


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

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-3-10 10:16 , Processed in 0.043670 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表