Magento - Многоуровневая навигация, настраиваемые продукты, активная проблема с несколькими фильтрами
Скажем, у меня есть один настраиваемый продукт в магазине Magento (1.7), "T-Shirt-A", который поставляется в красном (размеры 1,2) и черном (размер 2).
В многоуровневой навигации, если я выберу "Черный" и "Размер 1"
- Я ХОЧУ увидеть никаких результатов - потому что нет простых продуктов, которые доступны в "черном" и "размере 1".
- ВМЕСТО Я ВИДЮ "Футболку-А", потому что она черного цвета и размера 1 (но ни один из сопутствующих простых продуктов не отвечает обоим критериям)
Что я могу сделать, чтобы получить результаты поиска, которые я хочу (пусть фильтры показывают настраиваемые продукты, у которых есть хотя бы один связанный простой продукт, который соответствует ВСЕМ отфильтрованным критериям).
1 ответ
Все значения выпадающего атрибута EAV, используемые для многоуровневой навигации, хранятся в catalog_product_index_eav
таблица, которая знает только об одном продукте одновременно. Конфигурируемые продукты могут иметь несколько значений для каждого атрибута в зависимости от их дочерних элементов, но тогда исходные принадлежности этих значений теряются, что приводит к полученному случаю.
Чтобы заставить его работать так, как вы хотите, вам придется переработать способ индексации значений EAV для настраиваемых продуктов и многоуровневой навигации (Mage_CatalogIndex_Model_Indexer_Eav
), и как они извлекаются и используются для фильтрации (Mage_Catalog_Model_Layer_Filter_Attribute
)