Dawid
S.
Senior Software
Engineer
Temat: Kohana i obsługa błędu 404
Witajcie!Chciałbym wiedzieć jak rozwiązujecie obsługę błędu 404. Chodzi dokładniej o własną stronę z tym błędem.
Z moich poszukiwań wynika, że najlepiej jest zastosować hooka, aby podmienić zdarzenie system.404 uruchamiając wybrany kontroler i metodę. Wygląda to tak:
<?php
// application/hooks/error_404.php
defined('SYSPATH') or die('No direct script access.');
class error_404{
public static function show_404()
{
$page = new Page_404_Controller();
$page->index();
}
}
//Zamiana zdarzenia system.404
Event::replace('system.404', array('Kohana', 'show_404'), array('error_404', 'show_404'));
<?php
// application/controllers/page_404.php
defined('SYSPATH') or die ('No direct script access.');
class Page_404_Controller extends Website_Controller{
public function index()
{
$this->template->title = 'Błąd 404';
$this->template->content = new View('pages/page_404.php');
}
}
Próbując wejść na nieprawidłową stronę, otrzymuje błąd aplikacji: Żądany widok, pages/page_404.php, Nie może zostać znaleziony.
Oczywiście w katalogu pages znajduje się plik widoku page_404.php.
Korzystam z Kohany 2.3.4.
Będę wdzięczny za wszelkie podpowiedzi.
Pozdrawiam
Dawid