В Magento блок Layered Navigation прекрасно работает на странице со списком продуктов.
Как можно успешно скопировать этот блок на пользовательскую страницу, где есть пользовательский список продуктов?
Примечание. Простое добавление блока в XML и вызов его getChildHtml('blockname')
не поможет.
magento-1.9
layered-navigation
pzirkind
источник
источник
Ответы:
В основном, что вы должны сделать, это
extend/overwrite
из Mage_Catalog_Block_Product_List(List.php)
и переписатьgetProductCollection()
метод:Когда это было сделано, я переписал и
Mage_Catalog_Model_Layer
класс, и классMage_Catalog_Model_Category
и ввел новую переменную:Я переписал
getProductCollection()
в обоих классах, и я добавил это в начале метода:У меня также есть метод, который позволяет мне установить это
"customProductCollection"
внутри обоих этих классов. Как только он установлен, остальные данные многоуровневой навигации / категории основаны на этой коллекции.Проверьте первоначальный вопрос + ответ здесь .
Удачи ;)
источник