¿Cómo se puede hacer esto? Intento hacer esto durante media hora y se está poniendo bastante molesto. Sería esto esto debería ser una cosa básica y fácil de configurar para un marco como este. Espero que tal vez haya una manera fácil de extrañarme, porque estoy empezando a pensar que no debería elegir este marco si esos ajustes básicos son tan difíciles de configurar.Cómo configurar una página 404 personalizada para una aplicación Kohana v3
Esto está en mi archivo bootstrap.php que debería hacer el truco.
if (! defined('SUPPRESS_REQUEST'))
{
/**
* Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
* If no source is specified, the URI will be automatically detected.
*/
$request = Request::instance();
try
{
// Attempt to execute the response
$request->execute();
}
catch (Exception $e)
{
if (Kohana::$environment === Kohana::DEVELOPMENT)
{
// Just re-throw the exception
throw $e;
}
echo "ok";
// Create a 404 response
$request->status = 404;
$view = View::factory('error404');
$request->response = $view->render();
}
echo $request->send_headers()->response;
}
Pero sigo teniendo
Fatal error: Uncaught Kohana_Request_Exception [ 0 ]: Unable to find a route to match the URI: test ~ SYSPATH\classes\kohana\request.php [ 674 ] thrown in C:\Xampp\htdocs\system\classes\kohana\request.php on line 674
en lugar de mi página 404. Y sí, Kohana::$environment
se establece en Kohana::PRODUCTION;
Ni siquiera llegar a la parte echo "ok";
. ¿Por qué la excepción no queda atrapada?
no vote solo porque he dicho que estoy empezando a pensar que yo no debería elegir t su marco, es solo que encontrar esto muy extraño y difícil de configurar para algo tan fácil. Ahora estoy buscando una solución para poder continuar, ¿alguna idea? – daniels
Me temo que aún no he jugado con v3. En v2, es bastante fácil usar el sistema de anotación de eventos. En cualquier caso, esta página del foro puede aplicarse a su caso, especialmente las últimas 2 publicaciones: http://forum.kohanaframework.org/discussion/4777/ko3-404/p1 – Fanis
Lo hice usando el método catch all. Configuré una ruta de atrapar todas, y en ese control simplemente establecí el estado en 404 y obtuve mi vista 404 personalizada: D Gracias. Deberías hacer de esto una respuesta para poder aceptarlo. – daniels