【发布时间】:2015-10-12 15:32:01
【问题描述】:
我有一个可配置的产品,其中包含与之相关的简单产品。前任。鞋子的属性 Size 和 Width 就简单了。
- 当我按宽度和尺寸过滤时,它显示可配置,即使不存在具有该尺寸和宽度的简单产品。
我之前在这里以多种形式看到过这个问题,但没有解决方案。有谁知道如何修复此功能?我很惊讶这不是开箱即用的。
Magento - Layered navigation, configurable products, multiple filters active issue
【问题讨论】:
-
我想我有这个答案。产品可见性如何配置为可配置和简单?它们是在目录/搜索中可见还是仅在可配置产品中可见?
-
只是可配置的。
-
在不修改索引或严重损害性能的情况下,这看起来并不容易。在
app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Attribute.php::getCount中,正在检索的分层导航链接使用索引表,其中不包括单独不可见的产品。因此,您必须添加一些额外的查询来获取相关的简单产品并检查两个(或更多)属性的组合是否存在。这就是性能会被扼杀的地方,特别是如果你有很多属性/值。 -
数据库中的相关表是
catalog_product_entity, catalog_product_index_eav如果你看看你的,你会发现数据不存在。也许如果您询问 sql 向导如何将这些表与相关数据连接起来。在getCount()中的 return 语句之前添加这个来记录查询:Mage::log((string) $select); -
好吧,这是个可怕的消息,好像 magento 社区根本不关心这个奇怪的事情。
标签: magento