martes, 20 de mayo de 2014

Cambiar forma en la que genera Joomla 2.5 el alias de los articulos

En Joomla 1.5 no importa que nombremos los artículos con el mismo titulo porque el alias se puede repetir pero al actualizar a Joomla 2.5 descubrí que esta nueva versión no permite que haya dos alias iguales por lo que me encontré con la necesidad de cambiar todos los alias de los artículos en la base de datos directamente antes de hacer la migración.

El caso es que después de hacer la migración seguimos teniendo el mismo problema porque el núcleo de Joomla 2.5 genera los alias de una forma muy similar a la versión 1.5. Para evitar que teniendo artículos con el mismo nombre nos de error al generar el alias tenemos que modificar el núcleo de Joomla. El archivo a modificar es el siguiente: libraries/joomla/database/table/content.php

Dentro de la función check() he cambiado la sentencia

if (trim($this->alias) == '')
{
$this->alias = $this->title;
}

por lo siguiente: $this->alias = $this->title."-".$this->id;

Yo he utilizado el id de cada articulo porque este es único pero podríamos utilizar cualquier cosa que lo diferenciase.

2 comentarios:

  1. No seria mejor usar un sizeof(trim($this->alias)) == 0 o empty($this->alias) para comprobar que el lias esta vacio?

    Un saludo

    ResponderEliminar
  2. Si, podría usar esta forma pero use la que comento en el articulo porque para otras comprobaciones Seblod usa este tipo de comprobación de string. No quería cambiar demasiado el nucleo.

    Un saludo

    ResponderEliminar