在使用Dedecms CMS构建网站时,许多用户会发现,在进行搜索操作时,尽管标题、简介、日期和点击量等基本字段能够正常显示,但自定义字段的数据却无法调取,导致显示为空。本文将通过修改Dedecms的几个关键文件,帮助您解决这一问题,实现自定义字段标签的正确调用。
第一处需要修改的文件是根目录下的/include/arc.searchview.class.php。
打开该文件后,请找到以下注释代码:

//处理一些特殊字段
接着,在以下代码段之前添加新的代码:

$row["arcurl"] = GetFileUrl($row["id"],$row["typeid"],$row["senddate"],$row["title"],
需要插入的代码如下:

$row["你的字段名"]=Search_addfields($row["id"],"你的字段名");  //普通字段名字
如果存在多个自定义字段,则可以按照上述格式重复添加多行代码。

第二处修改涉及/include/extend.func.php文件。
在这个文件中,需要添加一个新的函数来支持自定义字段的调用。具体代码如下:

function Search_addfields($id,$result){
    global $dsql;
    $row4 = $dsql->GetOne("SELECT * FROM `dede_addonarticle` where aid='$id'");
    //dede_addonarticle 请修改为您自己的表名称
    $name=$row4[$result];
    return $name;
}
请注意,代码中的“dede_addonarticle”是默认的内容模型表名称,实际操作时需要根据您的具体模型进行替换。
完成以上两步后,您只需在搜索页面中加入相应的自定义字段代码即可实现功能。这样,当用户执行搜索操作时,不仅基本字段信息能够正常显示,自定义字段的数据也将一并呈现。
通过上述方法,您可以轻松解决Dedecms搜索结果中自定义字段无法调取的问题,进一步提升网站的功能性和用户体验。希望这些步骤对您有所帮助!