События Magento.Поймать рендеринг статического блока или рендеринга указанного блока - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть модуль, который добавляет небольшой кусочек кода к указанным статическим блокам - это означает, что есть 2 фильтра:

  1. только статические блоки
  2. только некоторые из них, которые указаны.

В настоящее время у меня есть наблюдатель, который ловит событие abstract_html_after и проверяет, является ли это статическим блоком вообще и находится ли этот блок в указанном списке блоков. Если это так, то он добавляет этот небольшой HTML-аддон в блок.

Проблема в том, что этот алгоритм ужасно замедляет работу системы.

Какие могут быть решения?

1 Ответ

1 голос
/ 03 февраля 2012

В настоящее время нет конкретного события CMS-блока, которое можно использовать, чтобы сузить область действия вашего события.
Вы даже не можете использовать событие cms_block_load_after в модели cms / block, чтобы сделать это, потому что в Mage_Cms_Model_Block не установлен $_eventPrefix, поэтому вы застряли с core_abstract_load_after.

Единственное решение - переписать блок cms / block или класс модели и либо отправить туда пользовательское событие, либо просто добавить свой контент прямо в переписанный класс.

...