简而言之 - 问题与此问题Magento - Layered navigation, configurable products, multiple filters active issue
相同我们有产品(可配置/分组/捆绑),有链接的简单产品。 链接的产品具有自己的属性,可配置有自己的属性。
分层导航获取链接产品的所有可用选项并将其添加到父产品中,因此当我们获得不同的过滤器组合时,我们可以为非现有的简单产品设置选项
示例:
SKU | Type | Country | City | Linked Skus
--------------------------------------------------------
SP1 | Simple | USA | NY | -
SP2 | Simple | USA | LA | -
SP3 | Simple | Russia | Moscow | -
SP4 | Simple | Russia | St. Pitersburg | -
GP1 | Grouped | - | - | SP1, SP2
GP2 | Grouped | - | - | SP1, SP3, SP4
通过这种方式,我们可以检查过滤器Country = USA AND City = Moscow和magento将向我们展示产品GP2,可用于此过滤器组合。
原因是在索引表 catalog_product_index_eav 中它会有类似的内容:
SKU | Attribute | Value
--------------------------------
GP1 | Country | USA
GP1 | City | NY
GP1 | City | LA
GP2 | Country | USA
GP2 | Country | Russia
GP2 | City | NY
GP2 | City | Moscow
GP2 | City | St. Pitersburg
所以对于这个选择USA + Moscow它会显示结果产品GP2,因为它有简单的链接,在美国和莫斯科的属性中有值,但真的不是一个简单的同时选择了USA + Moscow,所以显示GP2为这样的过滤器是错误的
有没有任何扩展/想法如何解决这个问题?
只有一个想法是添加到 catalog_product_index_eav 附加列linked_id,并为简单放入零值或简单的entity_id值,但是对于分组/可配置等,生成基于每个的索引链接的简单+父属性值。
在这个例子中它看起来像:
SKU | Attribute | Linked Sku | Value
----------------------------------------
GP1 | Country | SP1 | USA
GP1 | Country | SP2 | USA
GP1 | City | SP1 | NY
GP1 | City | SP2 | LA
GP2 | Country | SP1 | USA
GP2 | Country | SP3 | Russia
GP2 | Country | SP4 | Russia
GP2 | City | SP1 | NY
GP2 | City | SP3 | Moscow
GP2 | City | SP4 | St. Pitersburg
所以在这里我们可以添加额外的条件,即行中的所有属性必须具有相同的Linked Sku
可能有人知道现成的解决方案还是有其他想法?也许想讨论这个?
欢迎每一个想法/解决方案/意见:)
答案 0 :(得分:0)
看起来它以我描述的方式工作 刚刚开发出这样做的扩展..现在我们测试它,但我们只测试分组产品,因为我们没有使用其他类型。真的看起来它不仅必须与分组......
一起工作