织梦cms的代码除了自身的功能以外在模板标签调用以及自定义模型等方面确实很差,下面是是用sql标签调用匹配其他参数的代码修改:
一般在文章页使用sql标签匹配另外一个参数我们会按照以下这样写,但结果输出为空:
{dede:sql sql="select title from `dede_archives` where `title` like '%~pername~%'" db='default'}
<li><a href='[field:arcurl/]'>[field:title/]</a> </li>
{/dede:sql}
dedecms模板标签默认编译的结果就是select title from `dede_archives` where `title` like '~%pername%~' 并没有传递进来pername的参数。
此时我们需要对织梦cms的函数进行以下修改:$sql = str_replace($conditions[0][$key], "'".addslashes($refObj->Fields[$value])."'", $sql); 修改为:(只需把引号去掉就可以实现了) $sql = str_replace($conditions[0][$key], addslashes($refObj->Fields[$value]), $sql); 或者我们可以复制一份include/taglib/sql.lib.php重命名为likesql.lib.php并将对应代码修改,这样我们可以不影响{dede:sql sql=""}标签而用新的{dede:likesql sql=""}来实现模糊搜索。
本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户参考了本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:https://dengtar.com/8142.html