0

mdskinner のおかげで、 how-to-setup-a-custom-404-page-for-a-kohana-v3-app のソリューションを使用しました。したがって、私の作業コードは次のようになります。

Kohana_Exception::$error_view = 'kohana/404';//bootstrap.php

and the view file path is system/views/kohana/404.php

残念ながら、404 ページは静的なページです。しかし、コントローラーとビューを使用して、他のページとまったく同じようにフッターを動的にロードしたいと考えています。404カスタムページでそれは可能ですか?

4

2 に答える 2

1

ではindex.php、次のように、リクエストの実行とエコーの間にtry/catchブロックを配置します。

$request = Request::factory();

try
{
  $response = $request->execute();
}
catch (Exception $exc)
{
  if ($exc instanceof HTTP_Exception && $exc->getCode() === 404)
  {
     $response = Request::factory('your404route')->execute()->status(404);  
  } else {
    throw $exc;
  }
}

echo
  $response
  ->send_headers()
  ->body();
于 2012-12-04T19:23:56.470 に答える
0

はい、簡単にできます。3.2 の公式ガイド - http://kohanaframework.org/3.2/guide/kohana/tutorials/error-pagesまたは Lysender のすばらしいブログ投稿 - http://blog.lysender.com/2010/08/kohana-404を使用してください。 -pages/ (これは実際には 3.1 バージョン用ですが、3.2 と 3.1 の間の変更はそれほど大きくありません)。

于 2012-11-15T11:01:23.987 に答える