做網站,我們是認真的!

網站適配電腦+手機端,僅1280元,送2000M阿里云服務器,送com域名+免費備案
網站前端采用靜態系統顯示,后端動態管理,我們承諾網站包收錄,完成網站之后把源碼給客戶!

觀點

互聯網+時代,說建站,談運營與網絡營銷

dedecms sql標簽中調用其它變量值功能修改

時間:2020-12-21

織夢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=""}來實現模糊搜索。

0
首頁
案例
關于
聯系
凯时平台