Nota: Probar este script en un joomla en localhost para arender cómo funciona. Nunca hacerlo sobre un sitio en producción. Hacer backup de su base de datos antes de probar este script en producción. Si se equivocan y lo hacen en un sitio en producción como mucho se vna a agregar artículos en Joomla, los eliminan y listo, pero mejor hacerlo previamente sobre un sitio de desarrollo
Aplica para Joomla! 3
Esta consulta SQL lo que hace es leer todos los artículos de K2 e insertar los artículos en el gestor de contenidos de Joomla.
Cuando se crean los artículos en el gestor de contenidos se les asigna la categoria de la variable @id_categoria_default
(modificar por el ID de la categoría Joomla que prefieran).
Lo mismo aplica para la variable @id_usuario_default
, hay que elegir el ID del usuario de Joomla al que quieran asignarle
en la creación de los artículos.
Una vez ejectuado este script se van a crear los artículos en Joomla con la categoría @id_categoria_default
y el usuario @id_usuario_default
, pero va a faltar un paso, arreglar la tabla #__assets
(Mas info https://docs.joomla.org/Fixing_the_assets_table).
Esto es muy facil, lo hace Joomla por nosotros. Para corregir hay que ir a "Contenido" -> "Categorías", seleccionar la categoría que elegimos en la variable @id_categoria_default
, apretamos el botón "Reconstruir" de la barra de herramientas, esperamos y listo, ya tenemos migrados nuestros artículos.
set @id_usuario_default = 64; // Cambiar por el ID del usuario que quieran que sea el dueño de los artículos
set @id_categoria_default = 64; // Cambiar por el ID del la categoria "Sin categoria" o "Uncategorized" de Joomla, o la categoría que prefieran asignarle a los artículos a migrar.
// Cambiar PREFIJO por el prefijo de sus tablas de su base de datos.
INSERT INTO `PREFIJO_content` (`title`, `alias`, `catid`, `introtext`, `fulltext`, `created`, `created_by`, `created_by_alias`, `checked_out`, `checked_out_time`, `modified`, `modified_by`, `publish_up`, `publish_down`, `access`, `featured`, `hits`, `language`)
SELECT `title`, `alias`, @id_categoria_default as `catid`, `introtext`, `fulltext`, `created`, @id_usuario_default as `created_by`, `created_by_alias`, `checked_out`, `checked_out_time`, `modified`, @id_usuario_default as `modified_by`, `publish_up`, `publish_down`, `access`, `featured`, `hits`, `language`
FROM `PREFIJO_k2_items`
La información la obtuve del foro de K2: https://www.joomlaworks.net/forum/k2-en/21150-how-to-convert-k2-items-to-default-joomla-articles?start=10 también explican como migrar categorías, pero no lo probé. Pareciera estar bien la consulta, pero repito, no lo probé porque no lo necesité.