Todos conocemos la página de error 404 que muestra Joomla! por defecto y sabemos que no es lo mejor que podemos presentar en nuestro sitio web. Si utilizamos alguna plantilla de algún desarrollador ésta suele venir ya adaptada al diseño de ese template. Pero... qué pasa si queremos personalizarla más.
Vamos a ver cómo personalizar esta página de Joomla!
Página de error 404 de Joomla
Fichero error.php
Para personalizar esta página de error 404 (u otra, como 403), vamos a buscar el fichero error.php que se encuentra en la plantilla que tengamos seleccionada.
Evidentemente, si no tiene este fichero, lo creamos.
En este fichero encontraremos diferentes códigos en función de la plantilla y del desarrollador.
Antes de nada, hacemos una copia de este fichero por si queremos volver a ponerlo.
Y sin más, nos ponemos manos a la obra (lo que vemos arriba en la imagen es parte del código que viene en el fichero error.php de la plantilla Protostar, que es la que viene por defecto en Joomla).
Paso 1
Eliminamos todo el código que haya en este fichero.
Fácil, ¿no?
Paso 2
Añadimos el siguiente código PHP, haciendo uso de la API de Joomla.
<?php defined('_JEXEC') or die; $app = JFactory::getApplication(); if ($this->error->getcode() == '404') { $app->redirect($this->baseurl.'/error-404'); } ?>
Con esto simplemente estamos diciendo que si hay un error 404 (página no encontrada) haga una redirección y nos muestre la página que tengamos creada con el alias "error-404", es decir, que vaya a www.misitio.com/error-404.
Y esto... ¿Cómo lo creamos? Vamos a continuar con este tip Joomla.
Paso 3
Creamos un artículo que contenga el contenido que queramos mostrar. Esto ya a gusto de cada uno.
Paso 4
Creamos un ítem de menú y lo llamamos, por ejemplo, Error 404, y en el alias ponemos error-404
Esto último es importante. Lo que pongamos en el alias es lo que tenemos que poner en el código del paso 2. Es decir, si el alias fuera pagina-no-encontrada, entonces, el código quedaría de la siguiente manera:
<?php defined('_JEXEC') or die; $app = JFactory::getApplication(); if ($this->error->getcode() == '404') { $app->redirect($this->baseurl.'/pagina-no-encontrada'); } ?>
Paso 5
Ahora ya podemos asignar los módulos que queramos para poder añadir más valor a esta página.
Por ejemplo, si tienes newsletter y quieres poner aquí el formulario de suscripción es una buena forma de poder ganar un usuario más. Puedes poner el módulo de últimos artículos de tu blog, o el del buscador... En fin, aquí, también, a gusto de cada uno.
Si quieres, puedes ver cómo lo he implementado yo aquí te dejo una captura de pantalla:
Espero que os haya resultado sencillo este tip para Joomla!. Cualquier comentario ya sabéis que es bienvenido.