Magento - Layered navigation, configurable products, multiple filters active issue

自古美人都是妖i 提交于 2019-11-29 03:03:27

问题


Say I have a single configurable product in a Magento (1.7) store, "T-Shirt-A" which comes in Red (sizes 1,2) and Black (size 2).

In the layered navigation if I select "Black" and "size 1"

  • I WANT to see no results - because there are no simple products that are available in "Black" AND "size 1".
  • INSTEAD I SEE "T-Shirt-A" because it comes in Black and in Size 1 (but, no associated simple product meets both criteria)

What can I do to achieve the search results I want (have the filters show the configurable products which have at least one associated simple product that meets ALL filtered criteria).


回答1:


All EAV dropdown-attribute values used for layered navigation are stored in the catalog_product_index_eav table, which only knows about one single product at a time. Configurable products may have multiple values for each attribute depending on their children, but then the original belongings of those values are lost, which leads to the case you get.

To make it work like you want, you would have to rework the way EAV values are indexed for configurable products and layered navigation (Mage_CatalogIndex_Model_Indexer_Eav), and the way they are retrieved and used for filtering (Mage_Catalog_Model_Layer_Filter_Attribute)



来源:https://stackoverflow.com/questions/16718129/magento-layered-navigation-configurable-products-multiple-filters-active-iss

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!