找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 163|回复: 0

[cms教程] dedecms 织梦模板sql标签中调用其它变量值功能修改

[复制链接]

该用户从未签到

发表于 2021-6-6 12:40:52 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
织梦cms的代码除了自身的功能以外在模板标签调用以及自定义模型等方面确实很差,下面是是用sql标签调用匹配其他参数的代码修改:
        一般在文章页使用sql标签匹配另外一个参数我们会按照以下这样写,但结果输出为空:
         
       
               
                       
                               
                                       
{dede:sql sql="select title from `dede_archives` where `title` like '%~pername~%'" db='default'}
  [*,[url=[field:arcurl/,,[field:title/,[/url]  
{/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=""}来实现模糊搜索。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-10 05:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表