用于分组产品的Magento分层导航过滤器

用于分组产品的Magento分层导航过滤器,magento,entity-attribute-value,magento-1.8,layered-navigation,Magento,Entity Attribute Value,Magento 1.8,Layered Navigation,简言之,这个问题和这个问题是一样的 我们有可配置/分组/捆绑的产品,这些产品链接了简单的产品。 链接产品有自己的属性,可配置产品有自己的属性 分层导航获取链接产品的所有可用选项,并将它们添加到父产品中,因此当我们获得不同的过滤器组合时,我们可以为不存在的简单产品设置选项 例如: SKU | Type | Country | City | Linked Skus -------------------------------------------------------

简言之,这个问题和这个问题是一样的

我们有可配置/分组/捆绑的产品,这些产品链接了简单的产品。 链接产品有自己的属性,可配置产品有自己的属性

分层导航获取链接产品的所有可用选项,并将它们添加到父产品中,因此当我们获得不同的过滤器组合时,我们可以为不存在的简单产品设置选项

例如:

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和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+莫斯科,它将显示结果产品GP2,因为它链接了在USA和莫斯科属性中具有值的简单,但实际上没有一个简单同时选择USA+莫斯科,因此为此类过滤器显示GP2是错误的

有什么扩展/想法如何解决这个问题

我想到的唯一一个想法是向目录\产品\索引\ eav中添加额外的列链接\ id,对于简单,将零值或简单实体\ 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
所以这里我们可以添加额外的条件,即行中的所有属性必须具有相同的链接Sku

可能有人知道这方面的现成解决方案,或者有其他想法?也许想讨论一下


每一个想法/解决方案/意见都是受欢迎的:

看起来就像我描述的那样 刚刚开发了扩展,这样做。。现在我们正在测试它,但我们将只在分组产品上进行测试,因为我们不使用其他类型。真的,看起来它不仅适用于分组