DedeCMS调用相关文章likearticle附加自定义字段


DedeCMS非常灵活,可以根据关键词、文章标题调用文章,以提高内容之间的相关度,提高页面权重。实现这个功能主要用likearticle标签,该标签只能用在内容页,默认不能调用自定义附加字段,但经常会用到调用附加表字段功能,修改方法如下:   打开
/include/taglib/likearticle.lib.php,找到

  1. $row[‘templeturl’] = $GLOBALS[‘cfg_templeturl’];

下面增加代码

  1. $addfile = $refObj->ChannelUnit->ChannelInfos[“listfields”]; //获取文章模型的自定义字段列表
  2. if($addfile){
  3.   $addfiles = explode(“,”,$addfile);  //拆分成数组
  4.   $len = count($addfiles);
  5.   for($j=0;$j<$len;$j++){    //循环处理每一个数组元素
  6.     $fname = $addfiles[$j];
  7.     //获取每一个元素对应的值,并将元素名作为用于显示的$row数组的ID键,并赋值。
  8.     $row[”.$fname.”] = $refObj->Fields[”.$fname.”];
  9.   }
  10. }

调用自定义附加字段的其他修改方法

  1. {dede:likeartlist row=’10’}
  2. <a href='[field:arturl/]’>
  3.  <p>
  4.   [field:id runphp=’yes’]
  5.   $aid = @me;
  6.   $row = $GLOBALS[‘dsql’]->GetOne(“Select 字段名 From `dede_addon11` where aid=’$aid’ “); //根据实际需要修改附加表
  7.   @me = cn_substr(strip_tags(“{$row[‘字段名’]}”),600);
  8.   [/field:id]
  9.  </p>
  10. </a>
  11. {/dede:likearticle}