Home Tutoriales Plantillas Personalizar la página de error de Joomla

Personalizar la página de error de Joomla

Detalles Tutorial - Nivel : Intermedio, Versión Joomla : 1.5.x, Formato : texto y video
La personalización completa de un sitio web, desde el ícono de rss, hasta los mensajes del sistema, son una parte importante de toda página web. en este tutorial veremos cómo personalizar la página de error que muestra por defecto Joomla.

 

Video Parte 1 - En este primera parte del tutorial en video, se muestra una de las maneras más usuales de personalización de la página de error

Suscríbete a monitojoomla en youtube para que puedas ver todos los videos publicados

 

Video Parte 2 - En este segundo video se muestra otra manera de personalizar la página de error, a través de la modificación del template del sitio

Suscríbete a monitojoomla en youtube para que puedas ver todos los videos publicados

 

 

Primera Forma: Sobrescribiendo el archivo error.php

Esta primera manera de personalizar la página de error de Joomla, consiste en copiar el archivo error.php y sus correspondientes estilos hacia la carpeta de nuestro template.

 

1.1- Copiando los archivos

- El archivo error.php se encuentra en la siguiente ruta : /templates/system/error.php

- Estilo de error para pantalla: /templates/system/css/error.css

- Estilo de error para algunos idiomas (escritura de derecha a izquierda): /templates/system/css/error_rtl.css , en la mayoría de los casos copiar este archivo no es crítico.

Estos archivos deben ser copiados a las respectivas carpetas de nuestro template.

 

1.2- Realizando las modificaciones a error.php

Para tener las referencias correctas de los estilos, modificamos el archivo error.php, cambiando las referencias de los archivos css del sistema por las de nuestro template, para este ejemplo el template es monitojoomla

<link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/monitojoomla/css/error.css" type="text/css" />
 <?php if($this->direction == 'rtl') : ?>
 <link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/monitojoomla/css/error_rtl.css" type="text/css" />
 <?php endif; ?>

Además será necesario incluir una sentencia adicional en la parte superior, para mantener lógicamente el estado de error en el código de estado del header. Esto es aconsejable para que los mapas de sitio no incluyan esta página.

if ($this->error->code == '404') {
 header("HTTP/1.0 404 Not Found");
}

 

1.3- Personalizamos la página de error

Posteriormente se pueden realizar las modificaciones tanto del archivo error.php como de los archivos de estilos.

 


 

Segunda Forma: Modificando el Template

En algunos casos nos puede interesar mantener el diseño del template junto con la salida del archivo error.php, para esto será necesario realizar las operaciones antes mencionadas en la primera forma, obviando el paso de la copia de los archivos de estilo

 

2.1 Modificando el error.php

Borramos todo el código html del archivo error.php e incluimos el index.php, tal como se muestra a continuación

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
 
if ($this->error->code == '404') {
 header("HTTP/1.0 404 Not Found");
} 

include dirname(__FILE__)."/index.php";
?>


 

2.2 Modificamos el template

En este caso modificaremos el archivo index.php del template monitojoomla. La salida de código de error no interpreta las etiquetas <jdoc> de joomla, por lo que será necesario poner condicionales, especialmente en el componente.

Para el título:

<?php if(!isset($this->error->code)): ?>
 <jdoc:include type="head" />
 <?php else :?>
 <title>Error-MonitoJoomla</title>
 <?php endif;?>

Para el componente:

<?php if(!isset($this->error->code)): ?>
 <jdoc:include type="component" />
 
 <?php else :?>
 
 <?php if($this->error->code=="404"): ?>
 
 <div id="error404">Hmmm, No podemos encontrar la página solicitada</div>
 <div id="body404">Prueba con la pagina de inicio, click <a href="/<?php echo $this->baseurl."/index.php"; ?>">aqui</a></div>
 
 <?php else: ?>
//para el resto de errores
<?php endif; ?>
 

 

2.3- Aplicando estilos

Los estilos pueden ser aplicados dentro del archivo de estilos del template principal, en este caso los estilos para las etiquetas de error404 y body404, nos proporcionan la siguiente salida.

imagen 1

 

Conclusión

La personalización de las páginas de error, especialmente la de error 404, se ha vuelto cada vez más popular, tal como figura en este listado de páginas error 404 creativas , utilizando la flexibilidad que nos brinda joomla podemos realizar páginas similares, incrementando la experiencia de usuario en nuestro sitio web.

 

 

Comparte este postDel.icio.us! Google! Live! Facebook! Twitter! Joomla Free PHP
Comentarios (7)
  • alvaro
    avatar
    Muy muy buen post...gracias por este aporte sobre joomla y sus paginas de error...mi blog es http://www.produccionmusical.org
    Estamos en contacto.
  • Carlos
    avatar
    Me parece muy bueno tu blog, y el trabajo que haces es muy interesante y profesional.
    Hay artículo muy pero muy buenos. Sigue adelante y mucha suerte :)
  • alicia
    avatar
    Me gustaria personalizar mi pagina de error 404. Segui los pasos del segundo video pero ya en el primer paso no pude lograrlo.
    Al pegar:
    if ($this->error->code == '404') {
    header("HTTP/1.0 404 Not Found");
    }

    include dirname(__FILE__)."/index.php";

    En mi archivo de error.php nunca aparece el header ni nada... :( como hago para que aparezca?
  • reinaldo
    avatar
    buenas noche a mi me salio el error :

    404 - El artículo #51 no se ha encontrado
    Es posible que no pueda visitar esta página por:

    un bookmark/favorito anticuado
    el sistema de búsqueda tieneun listado anticuado para este sitio
    a dirección mis-typed
    no disponede acceso para esta página
    La petición de este recurso no se encuentra
    Ocurrió un error al intentar procesar su solicitud.
    Intentelo con alguna de estas páginas


    Página de inicio

    si la dificultad persiste, contacte con el administrador de este sitio

    El artículo #51 no se ha encontrado

    solamente estuve corregiendo los articulos y las imagens a la hora de ver la correcion me salio ese mensaje como lo puedo arreglar que no me salga ese error mas la pagina es : http://beginningserv.zobyhost.com y es grtais el dominio gracias
  • Yojan
    avatar
    Hola viejo excelente, tenia un problemita con el k2 y un error 403 y con esto me sacastes de aprietos
    Muchas Gracias
  • DeathAdder
    avatar
    Disculpa como haría si quisiera que en vez de mostrar el error 404 de joomla tradicional, que linkee a un rachivo .html que ya tengo hecho?
  • JuanJO
    avatar
    DeathAdder la solucion es fácil:

    if ($this->error->code == '404') {
    header("tu_archivo.html");
    }
Escribir comentario
Gravatar enabled