dedecms根据动态关键词获取对应文章(亲测有效)

2024年04月04日 建站教程

问题描述:做“单页文档管理”列表,想用一个通用list模板,列表页面根据不同标题或者关键词显示对应的文章!

解决方法:

1、打开 /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]]);
}

继续找到$taghash

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

改成

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

2、模板页面调用

{dede:arclist row='60' typeid='39' keyword='~title~' orderby='rand'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

注意:上面的模板是根据标题获取相应的文章的keyword='~title~',如果想根据关键词来可以改成keyword='~keywords~'

重点提示:不要写成keyword='~{dede:field.title/}~'或者keyword='~{dede:field.keyword/}~',小编在测试的时候就放过这个错误!

本文链接:http://so.lmcjl.com/news/1128/

展开阅读全文
相关内容