我们在网站建设过程中会遇到,dedecms自定义模型的自定义搜索需要调用除默认字段(标题、日期、点击、描述)外的其他字段,如商品价格等。默认只支持默认字段(标题、日期、点击、描述)等几个字段,如何新增加其他字段呢?
步骤如下:
一、修改advancedsearch.php页面中以下代码(约211行开始)
{
$where = str_replace('main.', 'addon.', $where);
$orderby = str_replace('main.', 'addon.', $orderby);
$query = "SELECT addon.*, arctype.* FROM $addontable addon
LEFT JOIN dede_arctype arctype ON arctype.id = addon.typeid
$where $orderby";
} else {
$query = "SELECT main.id AS aid,main.*,main.description AS description1, type.*
FROM $maintable main
LEFT JOIN dede_arctype type ON type.id = main.typeid
LEFT JOIN $addontable addon ON addon.aid = main.id
$where $orderby";
}
$sql = $query;
}
修改为:
{
$where = str_replace('main.', 'addon.', $where);
$orderby = str_replace('main.', 'addon.', $orderby);
$query = "SELECT addon.*, arctype.* FROM $addontable addon
LEFT JOIN dede_arctype arctype ON arctype.id = addon.typeid
$where $orderby";
} else {
$query = "SELECT addon.*,main.id AS aid,main.*,main.description AS description1, type.*
FROM $maintable main
LEFT JOIN dede_arctype type ON type.id = main.typeid
LEFT JOIN $addontable addon ON addon.aid = main.id
$where $orderby";
}
$sql = $query;
}
注:主要是 “$query = "SELECT addon.*,main.id AS aid,main.*,main.description AS description1, type.* FROM $maintable main ”这里增加了“addon.*,”
二、修改advancedsearch.htm,在页面中增加需要调用的字段,如{dede:field.brand/},{dede:field.units/}等即可。
至此,修改完成。