dedecms搜索模板,使用{dede:list}标签调用自定义字段不显示(空白)

Posted zw0718

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/]
    </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}标签调用自定义字段不显示(空白)的主要内容,如果未能解决你的问题,请参考以下文章

dedecms在dede:list列表中调用当前文章的tag标签

dedecms dede:list获取附加字段

织梦dede:list标签在列表页同一文章显示两次的解决方法

dedecms为啥文章列表页显示不出文章 而且还不能更新

DEDECMS首页和列表页调用图片集多张图片的办法

修改DedeCMS后台文章列表页面每页显示文章数量