有没有人知道是否有办法在Magento中排除某些字词被搜索?
例如:假设我有一个销售帽子的商店,我想排除“hats”这个词被搜查,所以如果有人搜索“黑帽子”,它只会返回“黑色”的结果,因为所有无论如何,产品都是帽子,如果它在搜索词中允许“帽子”,那么它将返回所有帽子。
有什么想法吗?
答案 0 :(得分:1)
鉴于您概述的情况,我不确定您是否真的需要这样做。 Magento使用like
或fulltext
作为可用的搜索选项(通过admin>系统>配置>目录>目录搜索设置),如果搜索查询是“黑帽子。“
如果您仍然觉得需要排除某些搜索字词,则可以在本地代码池中扩展app/code/core/Mage/CatalogSearch/Model/Query.php
,并添加一个删除任何不需要的搜索字词的方法。或者 - 这就是我要采取的方法 - 使用捕获controller_action_predispatch
事件的观察者创建一个小模块。在查询传递给ResultController.php
之前,这将允许您清理/修改查询参数以删除应排除的任何搜索词。