在幾句話Magento的分層導航器 - 問題是一樣的這個問題Magento - Layered navigation, configurable products, multiple filters active issue對分組的產品
我們的產品(configutable /分組/束),有沒有鏈接簡單的產品。 鏈接的產品具有自己的屬性,並且可以配置自己的屬性。
分層導航獲取所有availiable選項掛鉤的產品,並將它們添加到母公司的產品,所以當我們得到的過濾器的不同組合,我們可以爲不存在的簡單產品
示例設置選項:
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
通過這種方式,我們可以檢查過濾器國家=美國和城市=莫斯科和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
因此,對於這個選擇美國+莫斯科它會顯示結果產品GP2,因爲它有聯繫simples,有在美國和莫斯科的屬性值,但真的不是一個簡單的同時選擇了美國+莫斯科,所以顯示GP2這樣的過濾器是錯誤的
有沒有任何延伸/想法如何解決這個問題?這涉及到我
只有一個想法是添加到catalog_product_index_eav附加列linked_id和simples投入它的零值或簡單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
所以在這裏我們可以添加附加條件,在一行中的所有屬性都必須具有相同的鏈接SKU
可能有人知道這個或已準備好解決方案任何額外的想法?也許想討論這個?
每一個想法/解決方案/意見,歡迎:)