广告
广告
广告
pbootcms二次开发您现在的位置是:主页 > pbootcms二次开发 >

pbootcms搜索页面按照字段名称进行排序

2025-11-24 15:11:51pbootcms二次开发 161人已围观

此功能是一个小众需求。

比如搜索结果页面优先显示标题中含有关键词的产品,再显示扩展字段(如:ext_xinghao)中含有关键词的产品,再显示tags中含有关键词的产品,最后显示内容content中含有关键词的产品。此方法在原有基础上,在不破坏原有搜索排序的情况下增加field-priority排序。

搜索结果页面模板代码如下:

{pboot:search num=12 order='field-priority' field='title|ext_xinghao|tags|content'}
[list:title]
{/pboot:search}
找到文件/apps/home/controller/ParserController.php

在public function parserSearchLabel($content)函数中查找

case 'random': // 随机取数
$db_type = get_db_type();
if ($db_type == 'mysql') {
	$order = "RAND()";
} elseif ($db_type == 'sqlite') {
	$order = "RANDOM()";
}
break;

在下方增加代码:

case 'field-priority': // 新增:按字段优先级排序
$order = $this->buildFieldPriorityOrder($keyword);
break;
找到
if ($scode == '*') {
	$scode = '';
}
在上方增加代码:
// 如果没有指定排序方式且有关键词,则使用字段优先级排序
if ($keyword && !isset($params['order'])) {
	$order = $this->buildFieldPriorityOrder($keyword);
}
找到public function parserPageLabel($content)

在上方增加代码:

扫码免登录支付
本文章为付费文章,是否支付50元后完整阅读?

如果您已购买过该文章,[登录帐号]后即可查看

 


扫码添加技术微信【解决问题,仅需10元起】

专注中小企业网站建设、网站安全15年。
熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。
承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。
专业解决各种疑难杂症,您有任何网站问题都可联系我们技术人员微信。
➥ 可淘宝担保交易,安全无风险

广告
广告
技术微信