I am doing an ACL check in the preDispatch method of an Action Helper. When it fails, I want to call the action controller's _redirect method however I am having difficulty doing this.
In the comments attached to this post, zend-framework, call an action helper from within another action helper, I see two solutions. In the first, the controller is accessed from the helper as $this->_actionController. In the second, it is accessed using $this->getActionController().
I tried both of the following:
$this->_actionController->_redirect('/');
$this->getActionController()->_redirect('/');
In either case I get 'Method "_redirect" does not exist ...'. Are there perhaps restrictions on which controller methods can be accessed from the action helper?
There is Redirector action helper that you could use in your action helpers. For example:
class My_Controller_Action_Helper_Test extends Zend_Controller_Action_Helper_Abstract {
public function preDispatch() {
$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
$redirector->gotoUrl('/url');
}
}
Controller's _redirect method is just a wrapper to the Redirector's gotoUrl
method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With