在DedeCms文章内容页底部加入一个“相关文章”的栏位,不但可以去除DEDECMS默认模版原有的生硬,增加美观,而且对SEO和提升网站PV也有很大的帮助,要想实现这个功能很容易,利用现成的likearticle标签即可。实现方法如下:”
1.进入DedeCms网站管理后台,打开文章内容页模版article_article.htm,如下图:
2.找到以下代码:
<!-- /handle --> </div> <!-- /viewbox --> <!-- //AJAX评论区 --> {dede:include file='ajaxfeedback.htm' /} </div> <!-- //左边内容结束 --> |
3.在 <!-- /viewbox --> 和 <!-- //AJAX评论区 --> 之间插入代码,效果如下:
<!-- /handle --> </div> <!-- /viewbox --> <div class="hot mt1"> <dl class="tbox"> <dt><strong>相关文章</strong></dt> <dd> <ul class="c1 ico2"> {dede:likearticle col='2' row='10' titlelen='42'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:likearticle} </ul> </dd> </dl> </div> <!-- //AJAX评论区 --> {dede:include file='ajaxfeedback.htm' /} </div> <!-- //左边内容结束 --> |
以上的代码中用到了likearticle标签,关于likearticle标签的定义可以参考DeDeCMS官方说明:
标签名称:likearticle 功能说明:自动关连文档标签 适用范围:内容页使用 基本语法: {dede:likearticle row='' col='' titlelen='' infolen=''} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:likearticle} 参数说明: col='' 分多少列显示(默认为单列) row='10' 返回文档列表总数 titlelen = '30' 标题长度 等同于titlelength infolen='160' 表示内容简介长度 等同于infolength mytypeid=0 手工指定要限定的栏目id,用,分开表示多个 innertext = '' 单条记录样式(指标签中间的内容) 底层模板字段: ID(同 id),typeid, channel, arcrank, mid, click, title, fulltitle, textlink, info, filename, typeurl, stime,senddate, litpic(同picname) |
但是,likearticle标签调用的相关文章是取自当前栏目的,这就局限了我们在SEO方面的应用,根据网站整体的SEO策略有时候我们需要从 全站库里调取相关文章,因为这样做,既可以确保内容页面中内链相关度,又可以实现跨栏目的内链接,实现这个功能同样很简单,只需修改很少的代码;当然,它 会带来一个问题:要么从当前栏目中调用相关文章,要么从所有栏目里调用相关文章,二者只能选其一;如果可能那能定义新标签,为每个栏目定义差异化的调用方 式,效果会更好。具体的代码修改如下:
4.打开文件:\include\taglib\likearticle.lib.php,
找到代码:
$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid "; |
修改为:
$typeid = " And arc.id<>$arcid "; |
最后保存后更新htm文档就可以了。