В вашем контроллере попробуйте
public function preDispatch()
{
if($this->getRequest()->getActionName() === 'actionName') {
return; // ignoring preDispatch
}
// run preDispatch code when not actionName
}
Метод preDispatch вызывается до вызова действий контроллера в жизненном цикле запроса MVC. Таким образом, вы не можете отключить преддиспетчер от отдельного действия.
Вы можете создать свойство в вашем контроллере или переменную в методе preDispatch, где вы вводите имена действий (без суффикса действия), из которых вы хотите, чтобы preDispatch возвращался, ничего не делая. В приведенном выше примере кода вы не будете проверять одно имя действия, а только список имен действий, возможно, с помощью in_array.
См. http://devzone.zend.com/article/11978-Zend-Framework-MVC-Request-Lifecycle