WonderCSS

如何让织梦channelartlist标签支持limit规则

今天在制作DEDECMS织梦模板时需要在多子栏目中分别调取各自栏目,本以为可以依据 limit 来使用 {dede:channelartlist} 标签,但却失败了。在织梦官网的帮助文档上查到原来 channelartlist 标签无法像 dede:arclist 那样支持跳取栏目文章。

在网上查了查找到一个方法可以让织梦channelartlist标签支持limit规则,需要修改下面的文件。

\include\taglib\channelartlist.lib.php

在修改前我们先备份一下这个文件,然后打开文件,后找到下面的这段语句:


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

替换为:


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

然后找到 $dsql->SetQuery 语句,在其前面添加代码:


$limit = trim(preg_replace('#limit#is', '', $limit));
if($limit!='') $limitsql = " LIMIT $limit ";
else $limitsql = " LIMIT 0,$totalnum";

再找到下面代码:


$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
                                            FROM `#@__arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum");

改为:


$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
                                            FROM `#@__arctype` WHERE $tpsql ORDER BY sortrank ASC $limitsql");

完成如上修改后保存channelartlist.lib.php即可让channelartlist标签支持limit调取了。

By 于湛 发布于 2013.09.4 1,807 次浏览

发表评论

电子邮件地址不会被公开。 必填项已用*标注