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)

Другие вопросы по тегам