PAGINA DE ERROR

168 views
Skip to first unread message

alejandro_miguel

unread,
Jan 13, 2009, 12:51:52 PM1/13/09
to CakePHP en Español
haber un ayuda con la pagina de error ps comunidad

yo necesito un apagina de error para cuando no existe un controller
osea cuando el usuario actua como un mono y pone en la ruta del
navegador cualquier cosa

si el controller no existe ... sale del servidor pero en formato
servidor
como puedo personalizar un mensaje de :

"ocurrio un error " o algo asi pero un mensaje con formato y dentro de
algun layout
para q por lo menos se muestre la barra de herramientas y el usuario
seguira navegando

gracias

Luis Leiva

unread,
Jan 13, 2009, 1:08:00 PM1/13/09
to cakep...@googlegroups.com
aqui esta, tienes que crear una carpeta en views con el nombre errors, y
luego crear archivos que indiquen el numero de error que mostraran, es
decir:

/app/view/errors/error404.ctp para el error 404

y diseñas en esa pagina lo que quieres q muestre al ocurrir ese errror

Luis Leiva

unread,
Jan 13, 2009, 1:12:16 PM1/13/09
to cakep...@googlegroups.com
o tambien puedes usar la funcion error404 de la clase error handler

debes crear un archivo llamado AppError en la raiz App con el sig codigo

<?php

class AppError extends ErrorHandler {

        function error404($params) {
                $this->controller->layout = "layout_q_quieres_mostrar";
                parent::error404($params);
        }
}

?>

creo q esta forma es mas efectiva q la anterior

Luis Leiva

unread,
Jan 13, 2009, 1:18:46 PM1/13/09
to cakep...@googlegroups.com
te recomiendo que revises los metodos del error_handler

http://api.cakephp.org/class_error_handler.html

alejandro_miguel

unread,
Jan 13, 2009, 4:28:28 PM1/13/09
to CakePHP en Español
ok luis leiva gracias por la ayuda
> > gracias- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

alejandro_miguel

unread,
Jan 13, 2009, 5:12:54 PM1/13/09
to CakePHP en Español
pero para controller q no existen ???

x ejemplo pongo http://localhost/miweb/error/noexiste

y sale el mensaje tradicional de error
dentro del layout por default


Missing Method in AppController
Error: The action index is not defined in controller AppController

Error: Create AppController::index() in file: app\controllers
\app_controller.php.

<?php
class AppController extends AppController {
var $name = 'App';
function index() {
}
}
?>
Notice: If you want to customize this error message, create app\views
\errors\missing_action.ctp.


aca quiero q se muestre un mensaje mas adecuado


gracias



On 13 ene, 13:18, Luis Leiva <tengu...@gmail.com> wrote:

David Valdez

unread,
Jan 13, 2009, 5:16:31 PM1/13/09
to cakep...@googlegroups.com
Cuando pongas tu debug a 0 (osea que tu sitio este en producción)  no te saldrán mas tus mensajes de "missing method"  te van a salir los que pusiste en tu error_handler.

christian

unread,
Jan 13, 2009, 5:16:52 PM1/13/09
to cakep...@googlegroups.com
Hola alejandro:

El mismo mensaje de error te dice lo que debes hacer: Notice: If you want to customize this error message, create app\views
\errors\missing_action.ctp.

Creas esa vista con el contenido que queres que se muestre y listo. Espero que te sirva

Saludos
Christian

Luis Leiva

unread,
Jan 13, 2009, 5:50:24 PM1/13/09
to cakep...@googlegroups.com
eso o llamar al layout que quieras desde la funcion missingAction
<http://api.cakephp.org/class_error_handler.html#ac91f6fd4f8ae6a85ea2495be16eb46b>
del AppError que creaste en la raiz app

christian wrote:
> Hola alejandro:
>
> El mismo mensaje de error te dice lo que debes hacer: Notice: If you
> want to customize this error message, create app\views
> \errors\missing_action.ctp.
>
> Creas esa vista con el contenido que queres que se muestre y listo.
> Espero que te sirva
>
> Saludos
> Christian
>
> El 13 de enero de 2009 20:12, alejandro_miguel
> <alejandr...@gmail.com <mailto:alejandr...@gmail.com>> escribió:
>
>
> pero para controller q no existen ???
>
> x ejemplo pongo http://localhost/miweb/error/noexiste
>
> y sale el mensaje tradicional de error
> dentro del layout por default
>
>
> Missing Method in AppController
> Error: The action index is not defined in controller AppController
>
> Error: Create AppController::index() in file: app\controllers
> \app_controller.php.
>
> <?php
> class AppController extends AppController {
> var $name = 'App';
> function index() {
> }
> }
> ?>
> Notice: If you want to customize this error message, create app\views
> \errors\missing_action.ctp.
>
>
> aca quiero q se muestre un mensaje mas adecuado
>
>
> gracias
>
>
>
> On 13 ene, 13:18, Luis Leiva <tengu...@gmail.com
Reply all
Reply to author
Forward
0 new messages