咨询邮箱 咨询邮箱:445853324@qq.com 咨询热线 咨询热线:13547432457微信第三方平台
您的位置:首页 > 技术分享 > 建站技术 > >

织梦二次开发:让织梦arclist支持notypeid属性

发表日期:2018-11-23 19:57:07    文章编辑:遂宁SEO    浏览次数:

  织梦默认的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属性,使用方法如下:

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

唐陶网络工作室-遂宁网站建设、遂宁网站优化、遂宁SEO一条龙服务,转载请注明出处:http://tangtaoweb.comhttp://tangtaoweb.com/share/website/129.html

唐陶网络工作室淘宝店铺:织梦模板|tangtaoweb.taobao.com

相关文章推荐