2015-12-14 28 views
0

我在使用Magento管理产品搜索时遇到了一些麻烦!基本上我需要以下内容:修改Magento搜索以匹配任何关键字

如果产品名称为“Microsoft无线鼠标和键盘”,并且用户键入管理产品屏幕“无线键盘”,则我希望该产品出现。目前,除非我按照出现的顺序(例如“无线鼠标”)键入两个单词,否则我不会收到搜索结果。

我曾尝试将Magento Catalog设置设置为Like,Fulltext和Combine,并且所有结果都完全相同。在更改每个结果后,我已清除缓存和重新编制索引,并且它们不影响搜索的工作方式。

我正在运行Magento 1.9.2并运行VES Superstore主题。

任何关于哪个文件的建议我可以重写并更改MySql查询以执行我所需的操作?

感谢

回答

0

/app/code/core/Mage/Adminhtml/etc/config.xml你会发现定义的车型为全球管理搜索。

如果您通过控制器/app/code/core/Mage/Adminhtml/controllers/IndexController.php方法globalSearchAction,您会发现Magento读取配置并在其上应用搜索并合并整个结果。

既然你正在寻找具体的产品被搜查地方,它位于/app/code/core/Mage/Adminhtml/Model/Search/Catalog.php

和查询如下:

$collection = Mage::helper('catalogsearch')->getQuery()->getSearchCollection() 
    ->addAttributeToSelect('name') 
    ->addAttributeToSelect('description') 
    ->addSearchFilter($this->getQuery()) 
    ->setCurPage($this->getStart()) 
    ->setPageSize($this->getLimit()) 
    ->load(); 
+0

嗨,谢谢你。为了得到我需要的结果,我将改变什么? – Shaun

+0

您可以查看集合正在构建为查询,http://magento.stackexchange.com/questions/9464/display-a-sql-query-being-generated然后从那里您可以进行编辑 – Rabea

+0

真的很抱歉,请你稍微详细解释一下,我仍然正在处理Magento系统。 – Shaun