欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > CMS教程 >

dedecms5.6内容页面调用以后文章的相干文章处理办法

发表于2019-04-22 20:11| 次阅读| 来源网络整理| 作者session

摘要:dedecms5.6内容页面调用以后文章的相干文章处理办法

  在利用dedecms5.6时发现假设在内容页面调用相干文章,简略的利用dedecms arclist不可以完成,然而arclist有一个字段keyword,假设把以后文章的keyword调用进去,就可以失去以后相干文章的列表.我的做法是对keyword附一个固定的值复制代码
  
  {dede:arclist keyword='relation' row='5'}
  
  <li><a href="[field:arcurl/]">[field:title/]</a></li>
  
  {/dede:arclist}
  
  假设是在终端页面调用相干文章,就将keyword的值固定,其余的参数也都是可能用的,默许的keyword值是以后页面得要害字,有兴味的可能去我网站看看游戏联盟114可能对比下面相干文章的要害字和以后页面得要害字
  
  详细的完成模式是:
  
  1.修正include/arc.archives.class.php找到MakeOneTag($this->dtp,$this,'N',$reltag);将其交流为复制代码
  
  $reltag=explode(',',$this->Fields['keywords']);
  
  $reltag=$reltag[0];
  
  MakeOneTag($this->dtp,$this,'N',$reltag);
  
  2.修正include/下的channelunit.func.php找到函数MakeOneTag函数MakeOneTag(&$dtp,&$refObj,$parfield='Y')在函数的最后加上一个参数复制代码
  
  MakeOneTag(&$dtp,&$refObj,$parfield='Y',$reltag)
  
  细心看下有什么区别吧
  
  在函数中找到复制代码
  
  if(in_array($tagname,$alltags))
  
  {
  
  $filename=DEDEINC.'/taglib/'.$tagname.'.lib.php';
  
  include_once($filename);
  
  $funcname='lib_'.$tagname;
  
  $dtp->Assign($tagid,$funcname($ctag,$refObj));
  
  }
  
  将其修正为复制代码
  
  if(in_array($tagname,$alltags))
  
  {
  
  $filename=DEDEINC.'/taglib/'.$tagname.'.lib.php';
  
  include_once($filename);
  
  $funcname='lib_'.$tagname;
  
  if($tagname=='arclist'){
  
  foreach($ctag->CAttribute->Items as$key=>$val){
  
  if($key=='keyword'){
  
  if($val=='Relation'){
  
  $ctag->CAttribute->Items[$key]=$reltag;
  
  }
  
  }
  
  }
  
  }
  
  $dtp->Assign($tagid,$funcname($ctag,$refObj));
  
  }
  
  呵呵,去生成静态吧,不要遗记了keyword='relation' relation不要变哦,变了可就调不进去了,有成绩就问吧