dedecms搜索模板,使用{dede:list}標簽調用自定義字段不顯示(空白)
前幾天使用織夢做一個搜索功能,正常使用{dede:list}調用自定義內容模型中的自定義字段,代碼如下:(自定義字段的調用可以參考:http://www.dede58.com/a/dedejq/5233.html,本文不再贅述)
{dede:list row=‘100‘ addfields=‘zjtitle,zjfield‘ channelid=‘自定義內容模型id‘ pagesize=‘6‘}
<li>
<div class="result_left">
<a href="[field:arcurl/]">
[field:image/]
</div>
<div class="result_right">
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<p>[field:zjfield/]</p>
<span>
<a href="[field:arcurl/]">[field:zjtitle/]</a>
<small>科室:</small><a href="[field:typeurl/]">[field:typename/]
</a>
</span>
</div>
</li>
{/dede:list}
但是我們發現在搜索結果頁模板中使用“[field:字段名]”標簽無法正確調用,就算添加了列表附加字段也不行,如圖(1)。
圖(1)
搜索結果頁調用自定義字段,以下具體方法及步驟如下:
(1)找到並打開include目錄下的extend.func.php文件,在文件末尾添加如下代碼:
function Search_addfields($id,$result){global $dsql; $dedejs = $dsql->GetOne("SELECT * FROM `dede_zjtd998(內容模型附加表表名,如下圖-圖(2))` where aid=‘$id‘"); $name=$dedejs[$result]; return $name; }
圖(2)
(2)接下來找到並打開 include目錄下的arc.searchview.class.php文件,搜索“ //處理一些特殊字段”,在下面添加如下代碼:
$row["zjtitle"]=Search_addfields($row["id"],"zjtitle"); $row["zjfield"]=Search_addfields($row["id"],"zjfield");
//標紅處為所需調用的自定義的字段
(3)在search.htm中 使用[field:zjtitle/][field:zjfield]標簽,就可以調用出來相應字段內容了
以上是博文的所有內容,希望能對大家有所幫助,再次感謝大家查閱,有任何建議和想法可以在評論區留言交流!
dedecms搜索模板,使用{dede:list}標簽調用自定義字段不顯示(空白)