我遇到了Magento快速搜索的小问题。当我在框中搜索时说
ice machine
然后,在标题中ice
或machine
处,所有内容都将被重新调整。我需要它,所以它只会在标题中搜索具有确切字符串ice machine
的产品。
我发现如果我将"ice machine"
加上双重语音标记,它将只返回与之完全匹配的产品名称。
所以我需要一种方法,以便自动在搜索查询周围添加双重语音标记,这样它就会搜索全文而不是两个单词。
有没有办法在HTML格式中执行此操作?
答案 0 :(得分:2)
此问题已多次在MagentoCommerce论坛中得到解决。 Like搜索逻辑从AND更改为OR。为了获得更好的结果,需要将其更改回AND,以便搜索查询中的所有项都必须匹配。
在 app / code / core / Mage / CatalogSearch / Model / Mysql4 / Fulltext.php 中找到班级public function prepareResult($object, $queryText, $query)
以下代码:
if ($like) {
$likeCond = '(' . join(' OR ', $like) . ')';
}
需要
if ($like) {
$likeCond = '(' . join(' AND ', $like) . ')';
}
创建自己的重写模块以覆盖此类或通过将整个文件Fulltext.php复制到 app / code / local / Mage / CatalogSearch / Model / Mysql4 / Fulltext.php 并将 OR 修改为 AND 。该模块更可取。
答案 1 :(得分:0)
使用表格你可以使用javascript,但你必须注意顾客是否已经自己输入双引号。
我的建议是重写Mage_CatalogSearch_Helper_Data
帮助器并覆盖getQueryText()
方法。在那里,您可以引用现有的引号并在查询周围添加自己的引号。