织梦在列表页和内容页调用同级栏目的方法
时间:2015-05-29 阅读:次 QQ群:182913345
使用 Dedecms 时,想在列表页和内容页调用同级栏目的文章,当然可以使用{ dede:channelartlist typeid=‘1’ row='5'}的方法,指定栏目id,但是要自动判断当前栏目的同级栏目就没办法了或者需要给每个顶级栏目分配一个模板,这样很麻烦,本文将给一种更简单的办法 。
找到 \include\taglib\channelartlist.lib.php 文件
查找:$attlist = 'typeid|0,row|20,cacheid|'; //大概在43行
修改为:$attlist = 'typeid|0,row|20,cacheid|,type|'; //这边加个 type 实现在子栏目下调用同级子栏目的信息
然后查找:
修改为:
保存上面文件。然后在列表页或者内容页使用以下方法,就可以方便调用了 。
找到 \include\taglib\channelartlist.lib.php 文件
查找:$attlist = 'typeid|0,row|20,cacheid|'; //大概在43行
修改为:$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:arclist titlelen='34' infolen='72' row='7' } <a href="[field:arcurl/]" class="list"> <div class="h56"> <div class="listpic"><img src="[field:picname/]" /></div> <h4>[field:title/]</h4> <p>[field:info/]...<span>[field:click/]</span></p> </div> </a> {/dede:arclist} {/dede:channelartlist} |
上一篇:织梦提示信息文字的修改方法
下一篇:织梦添加自定义属性方法