织梦DedeCms channelartlist调用排除指定typeid栏目数据

2016-01-17dedecms开发
212

今天有朋友让我帮他解决一个bug,就是他想显示织梦栏目的时候,排除指定的typeid,弄个类似notypeid的标签.

这个教程网上已经有很多了,但是我还是写一下记录一下.

首先他的错误犯的很低级,就是调用的时候把notypeid写成了notypid,导致没效果,所以大家敲代码的时候一定要小心,要学会调适.

下面我就说说织梦怎么实现这个功功能》

制作织梦的模板时,在使用 wmd:channelartlist 自动调用栏目内容时,经常会遇到某些栏目不需要调用,比如“关于我们”、“联系地址”等无持续更新的栏目。要想在wmd:channelartlist调用时排出某些栏目,这需要修改dede源码,让wmd:channelartlist排除指定typeid。

首先找到 \include\taglib\channelartlist.lib.php,出于安全考虑先备份这个文件。打开channelartlist.lib.php 查找 $attlist

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

修改为:

$attlist = 'typeid|0,row|20,cacheid|,notypeid|0'; // 此处添加了一个所要排除typeid的参数—notypeid

再查找:

$dsql->SetQuery("Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath from `wmd_arctype` where $tpsql order by sortrank asc limit $totalnum");

在其前面添加(注意是在前面添加):

//否定指定ID if($notypeid!=0) { $tpsql = $tpsql."and not(id in($notypeid)) "; }

保存文件后,再模板调用时:

{wmd:channelartlist typeid ='7' notypeid='8'}

其中notypeid=’8′ 中的 8 为 7 的子栏目即生效。

当然notypeid和typeid也可以分开各自使用.


The End

相关推荐

织梦导航不显示外部链接栏目,修改channelartlist标签方法
在文件 include/taglib/channelartlist.lib.php第67行左右, 查找: $tpsql = reid=0 AND ispart2 AND ishidden1 AND channeltype0 ; 修改为: $tpsql = reid=0 AND ishidden1 AND channeltype0 ; 即删除 AND ispart2 完成。 栏目为外部链接时默认使用新窗口...
2018-11-09 dedecms开发
226

织梦channelartlist标签不能调用外部链接栏目的解决办法
我们用DedeCMS制作下拉菜单导航时,可以使用channelartlist循环调用顶级栏目和子栏目,下拉菜单时这一段代码可以搞定多个顶级栏目和子级栏目的同时输出。代码演示如下: div ul {wmd:channelartlist row=6}只能首页用,子页要用改成{wmd:channelartlist ro...
2018-10-19 dedecms开发
185

织梦 dedecms导航无法调用外部链接的原因
原因是你在调用导航时,用到了织梦的channelartlist标签.需要修改系统代码才行的 修改方法include/taglib/channelartlist.lib.php第67左右 $tpsql = reid=0 AND ispart2 AND ishidden1 AND channeltype0 ; 改成 $tpsql = reid=0 AND ishidden1 AND channeltyp...
2017-02-17 dedecms开发
1732

dedecms调用二级栏目并实现channelartlist支持currentstyle属性
dedecms默认模板的channelartlist是不支持currentstyle属性的.currentstyle属性在导航中应用的比较多,可以实现循环调用栏目后,当前页li标签获得一个class="自定义命名"的属性,具体作用就不做说明了,需要修改文件.提供最新重庆网页设计,企业网站建设,dede模板...
2019-10-09 dedecms开发
1111

dedecms标签channelartlist调用顶级栏目频道及列表
这个标签全局都可使用,可以减少多次使用{wmd:arclist typeid=栏目ID titlelen=60 row=10}.除了宏标记外,{wmd:channelartlist }是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套{wmd:type}{/wmd:type}和{wmd:arcllist}提供最新重庆网页设计,企业网站...
2016-03-02 dedecms开发
584

织梦DedeCms channelartlist调用排除指定typeid栏目数据
今天有朋友让我帮他解决一个bug,就是他想显示织梦栏目的时候,排除指定的typeid,弄个类似notypeid的标签. 这个教程网上已经有很多了,但是我还是写一下记录一下. 首先他的错误犯的很低级,就是调用的时候把notypeid写成了notypid,导致没效果,所以大家敲代码的时...
2016-01-17 dedecms开发
212