2011-02-08 11 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。すでにerrorActionのerror.phtmlビューがあります。たとえば、リダイレクトする代わりに、ビュー変数を作成するだけです(例: this-> view-> secret = true;この変数に基づいてあなたが望むものをerror.phtmlに表示します。 – Marcin

関連する問題