让织梦arclist支持notypeid属性的方法

2016-07-30dedecms教程
339

织梦默认的arclist标签支持typeid的调用,也就是给文章列表指定来源栏目,有时候栏目过多,一个一个写就很复杂,所以用排除的方法写更方便,以此引入notypeid属性。

主要修改文件是/include/taglib/下的arclist.lib.php文件,首先搜索:

return lib_arclistDone

在函数末尾加上:,$ctag->GetAtt('notypeid'),原来的代码变成如下的样子:

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')         

     );

然后再搜索function lib_arclistDone,同样在这个函数的后面加上一句代码:,$notypeid=0,修改后的函数变成下面的样子:

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属性,使用方法如下:

{wmd:arclist row=6 orderby=pubdate notypeid='7,8,9'}

notypeid和typeid

意思是按更新时间,调用除了栏目id是7,8,9的其余栏目中的6条数据。

The End

相关推荐

Dedecms织梦CMS如何添加自定义函数
我们在使用dedecms时候,需要拓展函数,那么这个函数需要写在哪个文件中呢?一般来说,需要写在:include/extend.func.php中,当然也可以写在其他公共文件中方便调用,以下是几个自定义函数示例...
2025-10-05 dedecms教程
80

织梦发布文档时候字数被限制了如何修改?
织梦发布文档时候字数被限制了如何修改,下面以文章发布为例,跟版网小编教你如何修改: 程序文件 dede/article_add.php dede/article_edit.php 修改代码 这里都是被进行了截取,我们只需要将截取字符改长一点就可以 $title= cn_substrR($title,$cfg_title_ma...
2025-07-05 dedecms教程
86

dedecms怎么做判断?怎么在一个标签中输入另外一个标签?
我们在使用织梦DedeCMS系统程序开发网站中,经常遇到需要对文章标题进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,下面跟版网的小编就为你推荐另外几种标题调用方式,如进行标题...
2025-07-05 dedecms教程
69

dedecms织梦列表页字段怎么做判断
用到dedecms时候,有时候需要对文章列表、arclist输出时候的字段做判断显示,比如缩略图没有则不显示,有的时候就显示图片,并且固定尺寸,这个要怎么操作呢? 关于列表字段内自定义字段的调用方法,有数据则显示无数据则不显示(备注:limit=3,1意思是从第4...
2025-07-01 dedecms教程
68

织梦内容页使用if判断某个字段是否为空
我们在使用织梦dedecms时候,如何使用if判断某个字段是否为空呢?我们以文章页自定义字段website为例:使用if语句判断website网址是否为空,如果有显示website并加上网址,如果没有就不显示。 {wmd:field.website runphp='yes'}if(@me'') {@me = 'a href="'...
2025-06-21 dedecms教程
171

dedecms热门文章怎么调用,标签是什么?
在使用 DedeCMS 建站时,很多用户都会想在首页或栏目页展示热门文章,以提升网站内容的曝光率和访问量。要实现这个功能,关键在于正确使用 DedeCMS 的标签调用方式。要在dedecms中调用热门文章,需使用 arclist 标签并设置 orderby=click 按点击量排序; 1....
2025-06-17 dedecms教程
132