我们都知道织梦dedecms的模板引擎标签功能非常的强大,只要了解这些模板标签,在前台调用各种形式的内容数据就可以得心应手。
当然,如果我们能再加点技术,对织梦默认的标签再加以改进,那就可以更加完美,实现更多功能了。
最近在对自己小站的栏目进行扩展和细分,由原来的五个一级栏目变成十个一级栏目,每个? o t d e一级栏目再细分为四到八个二级栏目,以便更好的管理内容。
但是这样做之后就遇到一个问题,比如我不想让其中一; \ C { ^ ] S ? |个栏目里面的内容在首页的最新文章列表中显示,按照织梦现有的办法,就是在arc~ d { S } ) /list标签的typei\ X e Y % ~ ] Ed属性里把想显示文S 3 F + U A k * #章的栏目ID全部设置上。
但如果栏目ID太多,维护G & 1 u起来就相当麻烦,于是我想既然arclist支持flag和noflag,那么应该也可以支持typeid和notypeid吧?
于是经过一番研究,再跟踪了一下源码,发现织梦默认并不支持notypeid,于是只有自己动手修改了,下面就给大家分享一下自己的成果。
首先找到并打开/include/t6 f 0 } g y u : #aglib/arclist.lib.php文Y , % +件,在大概第130行的位置找到下面这段代码:
return lib_arclistDo9 / u 0 =ne
(
$refObj, $ctag, $tyk p / _ * $ {peid, $ctag->GetAtt('row'), $ct, ] H M & -ag->GetAtt('col'), $titlelen, $infolen,
$ctag->GetAtt('imgwidth'), $| e 7 \ 9ctag->GetAtt('imgheightP | n K'), $listtype, $orderby,
$ctag->GetAtt(J g o K t [ ~ y d'keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
$ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag-&b 8 ) ; c ;gt;GetAtt('subday'), $ctag->GetAtt() i !'noflag'),
$tagid,$pagesize,$isweight
);
在最后面的括弧前面加上如下代码(注意前面的半角逗号):
,$ctag->GetAtt(‘notypeid’)
然后再找到这一段代码:
function lib_arclistDone(&n ^ \ y A ~$refObj, &$ctag, $typeid=0, $row=10, $col=1, $ti, H ` M |tlelen=30, $infolen=160,
$imgwidth=120, $imgheight=90, $| v A E ) z B ilisttype='all', $orderby='default', $keyword='',
$innertext=h ( g 0 e p .'', $arcid=0, $idlist='', $channelidv p t ] e 5 | } L=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0,+ Y / } $isweight='N')
在最后的括号前面加上如下S 6 *^ } N码(注意前面的半角逗号):l F o $ n 4 W T n
,$no1 E % { R O C L Rtypeid=0
最后在里面找到下面这一8 \ ) m s ~ r I p句代码:
$orwheres[] = ‘ arc.arcrw ( j = % H \ m Cank > -1 ‘;
在其前面添加_ = L x q如下代码:
if(!emptyq & j Q i ( j($notypeid))
{
$orwr @ 1 y : sheres[] = ” and arc.typeid NOT IN (“.GetSonIds($notypeid).”)”;
}
到这里,所有代码就修改完毕了。保存之后就在m u 4 h 3 G O K Uarclist标签里试试添加一个notypeid属性吧。对于网站栏目多,内容显示又错综复杂的情况,这样的属性还是蛮Q X B实用的。
下面是示例:
{dede:arclist row=6 orderby=pubdate type=’image.’ channelid=’1′ notypeid=’9′}

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

发表回复

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