DedeCMS按照关键词关联文章的方法

DedeCMS的dede:arclist调用动态的keyword

打开/include/taglib/arclist.lib.php文件,找到$keyword = trim($keyword);

在代码下面添加:

preg_match("/~([A-Za-z0-9_]+)~/s", $keyword, $conditions);if(isset($refObj->Fields[$conditions[1]])){$keyword = addslashes($refObj->Fields[$conditions[1]]);}

到此就实现了dede:arclist里面的keyword标签的动态调用。

模板调用:

{dede:arclist row='10' titlelen='250' keyword='~keywords~'}
<a href="/" title="[field:title/]" target="_blank">[field:title/]</a>
{/dede:arclist}

两种自己尝试一下:

{dede:likearticle row='5' mytypeid='1'  titlelen='80' eregtype=all|tag|keyword}
{/dede:likearticle}

文章发的时候关联正常,点击批量更新的时候,就显示错误,修改以下。

{dede:arclist keyword='关键词'} 调用文章列表时,仍然显示上一次的关键词。原因是arclist的缓存导致。

打开/include/taglib/arclist.lib.php文件,搜索如下代码:

$taghash = md5(serialize($ctag).$typeid);

找到上面代码改为以下代码

$taghash = md5(serialize($ctag).$typeid.$keyword);