Desde luego, esta circunstancia es negativa para el visitante, pues probablemente dé por perdida la información que buscaba y para el administrador, que ha perdido un visitante potencial. Por lo tanto, es fácil pensar que lo recomendable es mostrar una página para el error 404 personalizada y dentro del entorno estético propio de nuestra web, pero ¿cómo hacerlo?
Bueno, tenemos una primera opción que es utilizar una extensión específica, por ejemplo, Qlue Custom 404, sin embargo, he podido encontrar y probar una solución más sencilla y rápida si cabe, una solución posible de las diversas que supongo que existirán. Pero vamos al grano. Lo que queremos lograr es que cuando se dé en nuestra web el error 404, Joomla! muestre un artículo concreto que habremos personalizado para la ocasión. Esperamos que sea de utilidad. Las fuentes de la información han sido ésta y ésta.
Para Joomla! 1.5
Nos dirigimos al archivo:
...templates/system/error.phpy lo editamos, sustituyendo el contenido por el siguiente código:
<?phpCambiando el "00" por el id del artículo que hemos creado de forma personalizada para el error 404.
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
global $mainframe;
$mainframe->redirect($this->baseurl.'/index.php?option=com_content&view=article&id=00');
?>
Para Joomla! 2.5
Igualmente nos dirigimos al archivo:
...templates/system/error.phpy lo editamos, sustituyendo el contenido por el siguiente código:
<?phpCamiando también el "00" por el id del artículo que hemos creado de forma personalizada para el error 404.
/**
* @package Joomla.Site
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
if (!isset($this->error))
{
$this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
$this->debug = false;
}
$params = JFactory::getApplication()->getTemplate(true)->params;
$logo = $params->get('logo');
$showRightColumn = 0;
$showleft = 0;
$showbottom = 0;
// get params
$color = $params->get('templatecolor');
$navposition = $params->get('navposition');
//get language and direction
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;
if (($this->error->getCode()) == '404')
{
header('Location: /index.php?option=com_content&view=article&id=00');
exit;
}
?>
muchas gracias excelente
ResponderEliminar