摘要:dedecms系统使用默认的关键词关联相关文章时,关键词是写死不能变的,这样局限性太大了,如果把固定关键词替换为动态获取当前文章的关键词就更方便了……
dedecms默认可以使用arclist里面添加keyword='会议室装修,办公室设计'这样的方式来限定想要调用的关键词相关的文章,调用语法如下:
{dede:arclist row='10' titlelen='50'
keyword='织梦,dedecms'}
这里有一个问题就是关键词是写死的,不能动态获取,如果将这里的关键词设置成当前文章的关键词,那么和当前文章含有相同关键词的其他文章就可以非常方便的调出来了。事实上是通过各种方法并不管用,尝试使用过likearticle来调用相关文章,但是也失败了。
解决方法如下。
1、打开/include/taglib/arclist.lib.php 找到:
$innertext = trim($innertext);
在这段代码的上面添加如下代码:
//动态关键词调用
preg_match("/~([A-Za-z0-9_]+)~/s", $keyword,
$conditions);
if(isset($refObj->Fields[$conditions[1]]))
{
$keyword =
addslashes($refObj->Fields[$conditions[1]]);
}
//动态关键词调用end
在前台文章/templets/default/article_article.htm模板文件里面调用相关文章的地方使用如下代码调用:
{dede:arclist
titlelen='120' row='20' typeid='2,6,15,16,19,22,21'
keyword='~keywords~' orderby='rand'}
{/dede:arclist}
其中keyword='~keywords~'是当前页面关键词,如果你要调用标题~title~等等,根据自己当前页面的标签填字段,如果只调用当前文章所在分类下含有相同关键词的文章,可以把typeid删除;如需要调用全站含有相同关键词的文章,则需要加上终极分类的分类id。
3、后台-生成-更新系统缓存。
原文链接巅峰霸主网/qd/dedecms/arclist_80.html
织梦php调用当前文章关键词 dedecms动态获取当前文章关键词关联相关文章 提升SEO优化内容关键词相关度...