在w88建站的时候遇到一个问题,首页需要调用产品二级栏目但是列表循环的第一条需要加上一个class="on"高亮样式,channelartlist标签指定id调用的话就固定死了,不利于后期添加新的栏目,这时需要channelartlist支持limit指定从第二条计数,w88默认是不支持,接下来教大家解决方案。
第一步:include\taglib\channelartlist.lib.php打开
找到:$attlist = 'typeid|0,row|20,cacheid|';
替换:$attlist = 'typeid|0,row|20,cacheid|,limit|';
第二步:找到
$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum");
替换:
$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 `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC $limitsql");
标签调用(如图所示):
{dede:channelartlist limit='1,50' type ='son' typeid ='2' }{/dede:channelartlist}