php - 如何在 Opencart 中使搜索查询更具体?如何从 Opencart 中的产品搜索中排除关键字?
问题描述
我有一家多品类商店:https
://www.gadgets-house.com
我销售的电池包括 AA 电池和 AAA 电池,它们的功能差别很大。
现在,问题是,每当我尝试搜索 AA 电池时,搜索结果也包括 AAA 电池。当“AA 电池”与“AAA 电池关键字”相交时,它向我展示了一个混合搜索。
谁能帮我只找到特定的关键字触发产品?或者有什么方法可以在特定产品列表中标记否定关键字?
Opencart 版本 2.3.0.2
谢谢。
解决方案
是的 100% 可能:
我是几个月前完成的任务,并在我的现场网站上进行了测试。
我现在有 2 个关键字
- AA鞋
- AAA 鞋
第 1 步:转到目录/模型/目录/product.php
寻找
$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";
用。。。来代替
$implode[] = "pd.name ='" . $this->db->escape($word) . "'";
寻找
$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
用。。。来代替
$sql .= " OR pd.description ='" . $this->db->escape($data['filter_name']) . "'";
第 2 步:转到目录/model/journal3/filter.php
寻找
$implode[] = " pd.name LIKE '%" . $this->db->escape($word) . "%'";
用。。。来代替
$implode[] = " pd.name = '" . $this->db->escape($word) . "'";
寻找
$sql .= " OR pd.description LIKE '%" . $this->db->escape($filter_data['filter_name']) . "%'";
用。。。来代替
$sql .= " OR pd.description = '" . $this->db->escape($filter_data['filter_name']) . "'";
寻找
$implode[] = "pd.tag LIKE '%" . $this->db->escape($word) . "%'";
用。。。来代替
$implode[] = "pd.tag = '" . $this->db->escape($word) . "'";
寻找
$sql .= " pd.tag LIKE '%" . $this->db->escape($tag) . "%'";
用。。。来代替
$sql .= " pd.tag = '" . $this->db->escape($tag) . "'";
寻找
$sql .= " OR pd.tag LIKE '%" . $this->db->escape($tag) . "%'";
用。。。来代替
$sql .= " OR pd.tag = '" . $this->db->escape($tag) . "'";
推荐阅读
- python - 如何倒数和数到永远没完没了
- ubuntu - 使用 WSL 的 Ubuntu 20.04 上的 GNU Radio 3.8:CMake 警告,未指定构建类型
- python - 如何制作一个不和谐的机器人网络仪表板?
- gradle - 如何使用 gradle 将依赖项添加到非 gradle 项目?
- node.js - 访问下 10 项分页 firestore Admin SDK
- r - 创建一个 Y 变量,它是 X 变量的计数
- git - 如何重新设置已合并 master 的分支?
- opengl - OpenGL - 如何从顶点数组缓冲区中删除顶点?
- c++ - Antlr4 C++ 访问不明确的分支
- python - 从 numpy 数组中查找和删除列