2011-07-14 99 views
0

有誰知道是否有任何方法排除在Magento中搜索某些字詞?例如:假設我有一家銷售帽子的商店,我想排除單詞「帽子」被搜索,所以如果有人搜索「黑色帽子」,它只會返回「黑色」的結果,因爲無論如何,所有的產品都是帽子,如果它在搜索字詞中允許「帽子」,那麼它會返回所有帽子。Magento - 排除搜索字詞

任何想法?

回答

1

鑑於您列出的情況,我不確定您是否真的需要這樣做。 Magento使用likefulltext作爲可用的搜索選項(通過管理>系統>配置>目錄>目錄搜索進行設置),如果搜索查詢是「黑帽子」,那麼這兩個都不會返回所有帽子。

如果您仍然覺得需要排除某些搜索詞,您可以在本地代碼池中擴展app/code/core/Mage/CatalogSearch/Model/Query.php,並添加一種方法來刪除任何不需要的搜索詞。或者 - 這是我將採取的方法 - 創建一個帶有觀察者的小模塊,以捕獲controller_action_predispatch事件。這可以讓您在查詢傳遞到ResultController.php之前清理/修改查詢參數,以刪除任何應排除的搜索項。

+0

我可以確認這兩個Magento搜索選項都不能解決這個問題。喜歡和全文都會返回所有產品。您可以在http://twistedtime.com – a1anm

+0

上輸入「Pink Watches」來查看此問題:發現問題:http://www.magentocommerce.com/bug-tracking/issue?issue=10580 – a1anm

+0

@ a1anm使用您的示例搜索查詢「Pink Watches」實際上似乎非粉紅色的Rakumi(IDEA)Watch仍包含「short_description」中的Pink作品,該作品通常會被搜索到。從「short_description」屬性中刪除「Pink」或將該屬性設置爲不可搜索(至少用於快速搜索)應該可以解決您的問題。 –