首页 >

织梦DedeCMS模板sql标签中调用其它变量值功能修改

织梦cms的代码除了自身的功能以外在模板标签调用以及自定义模型等方面确实很差,下面是是用sql标签调用匹配其他参数的代码修改:
一般在文章页使用sql标签匹配另外一个参数会按照以下这样写,但结果输出为空:
{dede:sql sql=”select title from `dede_archives` where `title` like ‘%~pername~%'” db=’default’}
  • [field:title/]

  • {/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=””}来实现模糊搜索。

  • 解决织梦DedeCMS Call to undefined function织梦DedeCMS_htmlspecialchars()
  • 解决织梦DedeCMS Call to undefined function织梦DedeCMS_htmlspecialchars() | 解决织梦DedeCMS Call to undefined function织梦DedeCMS_htmlspecialchars() ...

  • 织梦DedeCMS列表推荐文章加粗效果去除方法
  • 织梦DedeCMS列表推荐文章加粗效果去除方法 | 织梦DedeCMS列表推荐文章加粗效果去除方法 ...

  • 织梦DedeCMS怎么修改模板才能实现全文检索呢
  • 织梦DedeCMS怎么修改模板才能实现全文检索呢 | 织梦DedeCMS怎么修改模板才能实现全文检索呢 ...