# 织梦cms搜索结果页如何调用自定义字段内容

*Published:* 2023-08-12
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年8月12日，已超过 180天没有更新



我们在给模型添加自定义字段后，刚好[搜索](https://www.xarjtc.com/tag/%e6%90%9c%e7%b4%a2 "查看搜索此标签更多文章")页需要显示自定义的字段时，织梦默认是无法在搜索结果页显示自定义字段的内容的，网上很多教程都是写死或者改动系统文件，这样不仅不够人性化，而且改动系统文件对升级存在影响。本文章介绍个完美的方法，既不改动系统核心文件，又不写死任何东西。

打开 include/extend.func.php ，在最下面加入

```
function GetAddField($aid,$addField)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT c.addtable FROM #@__archives AS a LEFT JOIN #@__channeltype AS c ON a.channel=c.id where a.id='$aid'");
    $addtable = trim($row['addtable']);
    $row = $dsql->GetOne("SELECT $addField FROM `$addtable` WHERE aid=$aid");
    return $row["$addField"];
}
```

search.htm 搜索结果页模板调用标签

```
[field:id function=GetAddField(@me,"自定义字段名")/]
```

如果你不喜欢用添加自定义的方法，也可以直接用runphp

```
[field:id runphp=yes]global $dsql;$row = $dsql->GetOne("SELECT c.addtable FROM #@__archives AS a LEFT JOIN #@__channeltype AS c ON a.channel=c.id where a.id=@me");$result = $dsql->GetOne("SELECT body FROM `$row[addtable]` WHERE aid=@me");@me = cn_substr(html2text($result['body']),500);[/field:id]
```

body 为自定义字段名，换成你自己的自定义字段，上面的表前缀也换成你自己的。