我在最新版本的magento中发现了一个奇怪的错误:高级搜索工具无法正常工作 .
我做了什么:
-
安装magento的新副本
-
在管理页面添加了名为Test 1的产品
-
全部重新索引
-
清除所有缓存
-
在前端页面:
-
打开高级搜索页面
-
在目录中搜索之前添加的"Test 1"产品
-
没有结果
我没有结果使用产品的“名称”作为搜索属性 .
似乎另一个用户有同样的问题:Magento advanced search returns no results
如果在数据库中看到实体表,则可以看到带有产品名称的属性“71” . 属性71是“名称”Magento属性 .
Catalog Product Varchar Attribute Backend Table
如果我尝试在app / code / core / Mage / CatalogSearch / Model / Advanced.php上读取Magento代码并进行调试,我可以看到这个命令:
$this->getProductCollection()->addFieldsToFilter($allConditions);
array(1) {
["catalog_product_entity_varchar"] => array(1) {
[71] => array(1) {
["like"] => string(9) "%Test 1%"
}
}
}
但是Magento没有告诉我任何结果 .
If I try to execute a search process using the SKU field, magento return the product!
array(1) {
["catalog_product_entity"] => array(1) {
["sku"] => array(1) {
["like"] => string(6) "%test%"
}
}
}
是Magento Bug吗?
更新:如果我将默认类别添加到产品类别列表中,似乎它可以正常工作 . Magento的行为是正常的吗?
谢谢
1 回答
由于高级搜索查询的执行方式,这可能是mysql 5.6中的一个错误 . 这个错误报告中有一个解决方法 .
http://bugs.mysql.com/bug.php?id=70608