1

简而言之 - 问题与这个问题相同Magento - 分层导航,可配置产品,多个过滤器活动问题

我们有产品(可配置/分组/捆绑),其中有链接的简单产品。链接的产品有自己的属性,而可配置的也有自己的。

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

例子:

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 和莫斯科的属性中具有值,但实际上没有一个简单同时选择 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

可能有人知道为此准备好的解决方案或有任何其他想法吗?也许想讨论这个?

欢迎每个想法/解决方案/意见:)

4

1 回答 1

0

看起来它以我描述的方式工作。刚刚开发了这样做的扩展。现在我们对其进行测试,但我们将仅在分组产品上进行测试,因为我们不使用其他类型。真的,它看起来不仅必须与分组一起工作......

于 2014-05-14T11:43:02.307 回答