我们用织梦来
网站制作时,经常碰到使用dede:channelartlist ,但是因为某些样式要求原因,个别栏目不需要调用出来。这时就需要单独排除某一个栏目ID了。
官方是没有这块明确的调用方式的,那么如何调用呢?其实做一点文件小修改就可以实现。
打开 \include\taglib\channelartlist.lib.php 文件
找到
$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 `dede_arctype` where $tpsql order by sortrank asc limit $totalnum");
在其前面添加
//否定指定ID
if($notypeid!=0) {
$tpsql = $tpsql."and not(id in($notypeid)) ";
}
模板调用:
{dede:channelartlist typeid ='6' notypeid='9'}
其中notypeid=’9′ 中的 9 为 6 的子栏目即生效。
当然notypeid和typeid也可以分开各自使用.
比如“关于我们”、“联系我们”等无持续更新的栏目。要想在 dede:channelartlist 调用时排出某些栏目,这需要修改代码,让 dede:channelartlist 排除指定typeid,
图一:没有排除出现的问题
图二:进行排除后效果
在制作网站模板的时候,在使用 dede:channelartlist 自动调用栏目内容时,经常会碰到指定栏目不需要调用情况,大家在于灵活运用。
以上就是关于【织梦dede:channelartlist调用排除某一个栏目typeid的方法】的文章内容,如果您还想了解更多关于网站建设与网络推广的相关文章,请继续查看【织梦教程】栏目的其它文章
来源www.7y8d.com广州明行威,致力于中小企业网络营销推广、整体外包运营(网站建设、SEM、SEO等)、企业SEO内训、信息流广告运营
欢迎交流 加微信13430336474 广州张楷
上一篇:织梦怎么调用{dede:field.content/} 下一篇:织梦DEDE如何用一次循环代码调用多级栏目(带子栏目)