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);