织梦artlist标签增加notypeid属性栏目略过

发布时间:2021-09-02 14:53:54 作者:admin 来源: 浏览量(24) 点赞(1)
摘要:织梦的标签功能非常强大,只有熟悉这些标签,在前台调用百般形式的靠山数据就能得心应手。当然,如果能懂点技术,对织梦的标签再加以矫正,那便更完美了。 我 迩来在对自己小站的栏目

织梦的标签功能非常强大,只有熟悉这些标签,在前台调用百般形式的靠山数据就能得心应手。当然,如果能懂点技术,对织梦的标签再加以矫正,那便更完美了。

我 迩来在对自己小站的栏目进行扩展和细分,由原来的七个头等栏目形成十二个一级栏目,每个一级栏目再细分为四到八个二级栏目,以便更美的管理实质。但我遇 到了一个题目,其中一个栏目我不想让它在首页的最新文章列表中显示,按照织梦现有的办法,便是在arclist标签的typeid属性里把想显示文章的栏 目ID全部设置上,但如许做栏目ID太多了,以后维护起来也麻烦,所以我想既然arclist支持flag和noflag,那么应该也要支持typeid 和notypeid吧?经过一番测试,再跟踪了一下源码,发现织梦并不支持notypeid,那怎么办?自己写吧!

挨开/include/taglib/arclist.lib.php文件,找这段代码(大概在130行):

return lib_arclistDone
(
$refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
$ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
$ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
$ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),
$tagid,$pagesize,$isweight
);

在最终括号最后添上(注视前面的逗号):

,$ctag->GetAtt('notypeid')

然后再找到这一段代码(大概在168行):

function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,
$imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',
$innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N')

在括号的最后加上(注视前面的逗号):

,$notypeid=0

最后再找到这一句:

$orwheres[] = ' arc.arcrank > -1 ';

在其前面增加以下代码:

if(!empty($notypeid))
{
$orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")";
}

这样,代码就修改完毕了。保存之后就在arclist标签里试试看notypeid属性吧。对于网站栏目多,实质显示时又错综复杂的情况,这样的属性仍是蛮实用的。

使用方法:

{dede:arclist row=6 orderby=pubdate type='image.' imgwidth='108' imgheight='150' channelid='1' notypeid='9'}

      更多广州网站设计公司相关问题欢迎咨询我们!
二维码

扫一扫,关注我们

声明:本网文章由eBinGou编辑发布,未经许可严禁转载或他用;若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。如获得相关权属请注明出处http://www.ebingou.com/jianzhanzhixun/2049.html

看这么多不如咨询一下?

联系我们,我们愿意为您提供任何咨询答疑!

多个选择总是好的

搜索千万次不如咨询1次

我们为您提供专业到位的服务,不放弃任何一客户,一次合作终身的朋友

立即咨询 18665690707-微信同号-