dedecms 織夢模板下載sql標(biāo)簽中調(diào)用其它變量值功能修改
時(shí)間: 2018-11-29 09:42
閱讀: 次
作者:素材無憂網(wǎng)
織夢cms的代碼除了自身的功能以外在模板標(biāo)簽調(diào)用以及自定義模型等方面確實(shí)很差,下面是是用sql標(biāo)簽調(diào)用匹配其他參數(shù)的代碼修改:
一般在文章頁使用sql標(biāo)簽匹配另外一個(gè)參數(shù)我們會(huì)按照以下這樣寫,但結(jié)果輸出為空:
{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模板標(biāo)簽?zāi)J(rèn)編譯的結(jié)果就是select title from `dede_archives` where `title` like '~%pername%~' 并沒有傳遞進(jìn)來pername的參數(shù)。
此時(shí)我們需要對織夢cms的函數(shù)進(jìn)行以下修改:
$sql = str_replace($conditions[0][$key], "'".addslashes($refObj->Fields[$value])."'", $sql);
修改為:(只需把引號去掉就可以實(shí)現(xiàn)了)
$sql = str_replace($conditions[0][$key], addslashes($refObj->Fields[$value]), $sql);
或者我們可以復(fù)制一份include/taglib/sql.lib.php重命名為likesql.lib.php并將對應(yīng)代碼修改,這樣我們可以不影響{dede:sql sql=""}標(biāo)簽而用新的{dede:likesql sql=""}來實(shí)現(xiàn)模糊搜索。
標(biāo)簽: