Как вызвать определенный метод в каждом методе действия всех классов контроллеров в Magento? - PullRequest
3 голосов
/ 21 марта 2012

Для магазина Magento, над которым я работаю, я должен проверять определенные переменные сеанса при каждой загрузке страницы. Когда переменные не имеют ожидаемых значений, мне нужно перенаправить на определенную страницу.

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

Есть ли более простой способ?

Ответы [ 2 ]

6 голосов
/ 21 марта 2012

Архитектура событий Magento на помощь!Соблюдайте метод controller_action_predispatch.

Редактировать : обратите внимание, что это событие отправляется как в adminhtml, так и во внешнем интерфейсе, поэтому ответ Сергея важен - настройте наблюдатель события в соответствующей области.*

5 голосов
/ 21 марта 2012

Да,
вы всегда можете использовать magento события в этом случае:
1. controller_action_postdispatch.
2. controller_action_predispatch.
Будьте осторожны: такие же события используются и в админке.

...