2011-02-08 2 views
1

В режиме производства (минимальные ошибки), когда контроллер не найден, Zend дает ошибку на 404 странице. Есть несколько контроллеров, для которых я не хочу, чтобы это активировалось. Даже если они не существуют, я не хочу, чтобы страница не обнаруживала ошибку. Возможно ли как-то заблокировать эту ошибку и дать пустую страницу. Я предполагаю, что, если это вообще возможно, это нужно делать на уровне плагина, поскольку для этого не существует никакого контроллера.остановка страницы не обнаружены ошибки, когда контроллер не существует

ответ

2

Одним из возможных решений было бы проверить объект запроса в вашем errorAction для контроллера и/или действия, которые выдавали исключения (для несуществующих контроллеров и действий вы также могли бы получить их имена таким образом). Исходя из этого, вы можете настроить остальную часть errorAction. Например:

public function errorAction() { 
     $errors = $this->_getParam('error_handler'); 

     $whatController = $errors->request->getControllerName(); 

     if ('secretController' == $whatController) { 
      return $this->_redirect('blankErrorPage'); 
     } 

     // usual rest of errorAction 
} 
+0

Спасибо, я собираюсь дать ему попробовать, но проблема, что я вижу, что это значит, я должен создать контроллер/действие/представление для 'blankErrorPage'. Есть ли способ получить представление без контроллера/действия? – jblue

+0

@jblue. У вас уже есть error.phtml view для errorAction. Так, например, вместо перенаправления просто создайте переменную вида, например. this-> view-> secret = true; и в файле error.phtml отобразится то, что вы хотите, на основе этой переменной. – Marcin

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