2009-12-01 3 views
2

Есть ли способ получить доступ к вспомогательному классу из зарегистрированного плагина. Изнутри контроллера, можно использовать:Zend Framework - Получение помощника из зарегистрированного плагина

$this->_helper->getHelper($helperName); 

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

+0

Вы имеете в виду это? http://stackoverflow.com/questions/1116401/zend-framework-call-an-action-helper-from-within-another-action-helper – mercator

ответ

1

Вы должны использовать action helper broker для извлечения помощника в любом месте вне контроллера. См. Аналогичный вопрос:

zend-framework, call an action helper from within another action helper

+1

Спасибо. Я закончил тем, что пытался это сделать, и смог получить помощника. Однако в нашем случае нам не удалось использовать помощник FlashMessenger, поскольку он предполагает, что между добавлением сообщений и сообщениями может быть получен один переход. В случае, когда вы пытаетесь получить их в зарегистрированном плагине до того, как элемент управления попадет на контроллер, контроллер не будет передавать требуемый один прыжок, когда он попытается использовать сообщения. Независимо от того, ваш ответ верен и может помочь другим, если они не пытаются использовать FlashMessenger. –

Смежные вопросы