2012-11-14 68 views
0

感謝mdskinner,我使用了how-to-setup-a-custom-404-page-for-a-kohana-v3-app的解決方案。所以,我的工作代碼是這樣的:如何動態地爲Kohana3加載404自定義頁面?

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

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

不幸的是,404頁面是一個靜態頁面。但是,我想要動態加載頁腳,就像在其他頁面一樣 - 使用控制器和視圖。 404自定義頁面可能嗎?

回答

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之間的變化並不那麼大)。

+0

你不應該至少是答案,而不是鏈接到外部網頁粘貼?參考:http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers –

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();