1. 程式人生 > >dedecms搜索模板,使用{dede:list}標簽調用自定義字段不顯示(空白)

dedecms搜索模板,使用{dede:list}標簽調用自定義字段不顯示(空白)

name 顯示 調用 view 技術 tex ali 模板 建議

  前幾天使用織夢做一個搜索功能,正常使用{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/]

    </a>
  </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}標簽調用自定義字段不顯示(空白)