联系电话:0755-27515592
最新动态:

Magento教程

Magento前台搜索结果太多的解决方法

点击数:11782015-07-15 11:07:50 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技

新闻摘要:Magento使用magento1.4.2以后的版本,在使用前台快速搜索产品时,会发现搜索的数量过多的问题很多, 比如卖手机的网站:以关键字搜索nokia和nokia 5800会得到相同的结果,甚至nokia 5800会得到更多

Magento使用magento1.4.2以后的版本,在使用前台快速搜索产品时,会发现搜索的数量过多的问题很多, 比如卖手机的网站:以关键字搜索nokia和nokia 5800会得到相同的结果,甚至nokia 5800会得到更多的结果, 实际上他的查找逻辑是所有有nokia或5800的都找出来,用的是每个词间 “或” 的关系, 这在产品较多的网站是不可接受的。 通过代码分析,通过代码分析,magento 1.4.2以后的版本在处理搜索关键字时用OR替换了AND,

他的代码是:
app/code/core/Mage/CatalogSearch/Model/Mysql4/Fulltext.php
这个文件按照相同文件结构复制到app/code/local文件夹下  然后查找

$likeCond = '(' . join(' OR ', $like) . ')';//大概在345行的样子
把OR换回AND 即$likeCond = '(' . join(' OR ', $like) . ')';
这个是用在使用magento后台设置like方式搜索方式$separateCond = ‘ OR ‘;  //大概在353行的样子
把OR换回AND 即$separateCond = ‘ AND ‘;
这个是用在使用magento后台设置fulltext方式搜索方式注意,在修改完成后,试一下搜索结果,有可能还会有意料外的产品出现,这时如5800不在产品名称中,这时5800有可能定义在充许快速搜索的属性中。

不知为什么magento没有在后台设置搜索的or和and的选项!

magento 1.6以上的,文件改成在 app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php  中了.

【责任编辑:(Top) 返回页面顶端
贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
亿恩科技手机站
关注亿恩科技微信

亿恩科技—企业信息化一站式服务专家


Copyright © 2008- 深圳市亿恩科技有限公司版权所有 粤ICP备15056041号

联系我们 | 常见问题 | 在线留言 | 支付方式 | 软件开发 | 我的观点 | 资质荣誉 | 服务流程