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