Вопрос

я слушаю Catalog_product_collection_load_after событие для добавления кода при загрузке сетки/списка продуктов категории, и из кода наблюдателя я хочу получить следующие данные:

  1. это Посмотреть список или вид сетки?
  2. если просмотр в виде сетки, сколько товаров в строке?

Похоже, мне нужен доступ к блоку панели инструментов продуктов, но я не знаю, как это сделать.или, может быть, есть лучший способ?

Редактировать:забыл упомянуть, что при изменении размера экрана меняется количество продуктов за строку (например, уменьшается на экранах меньшего размера).могу ли я узнать это заранее внутри php?

Спасибо!

Это было полезно?

Решение

Вы правы, полагая, что для доступа к этой информации вам нужен блок панели инструментов.Но событие, которое вы сейчас слушаете, catalog_product_collection_load_after будет содержать только информацию, полученную о данных продукта, а не его репрезентативную логику.

Альтернативный подход может заключаться в прослушивании события. core_block_abstract_prepare_layout_after и применить фильтр только для блока панели инструментов (сделайте его первым фильтром, поскольку это событие запускается при создании каждого отдельного блока в Magento).Таким образом, вы сможете получить всю информацию из блока панели инструментов сразу после его инициализации.

Кроме того, если вы видите уменьшенное количество продуктов в столбце, значит, это адаптивный дизайн в действии, и вы не можете знать об этом заранее через PHP.Вполне возможно, что на экранах разных размеров количество столбцов останется прежним, просто CSS настраивает его для правильного отображения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top