Clicky

Artículos de Joomla visibles en la base de datos y en el frontend pero no visibles en el backend

Artículos Joomla no visibles

Joomla Articles visible in database and frontend but not visible in backend

Solución al error Save failed with the following error: Invalid parent ID.

Estoy realizando una trabajosa migración de un sitio Joomla! que utiliza el componente K2 para la gestión de artículos.

Aunque he podido realizar una migración manual desde los artículos de K2 a los artículos de contenido de Joomla (que explicaré en otro artículo) al realizar la migración desde Joomla 3.10.10 a Joomla 4.2.15 se me producía un caso raro de desaparición de los artículos en la lista de artículos del Administrador.

Para corregir esto he seguido los pasos indicados en este artículo de la documentación de Joomla.

Esto ocurre cuando los artículos se importan directamente a la base de datos, lo que funcionaba bien en Joomla 3 pero no en Joomla 4. La solución de un usuario es la siguiente:

Importé artículos directamente en la base de datos a la tabla #_content como solía hacer en Joomla 3. Sin embargo, en Joomla 4 no estaban visibles.

En Contenido → Categorías, los contadores de artículos de categoría contaron los artículos importados. Pero no estaban visibles en Contenido → Artículos.

Lo resolví creando las referencias necesarias en la tabla #_workflow_associations para cada artículo importado:
item_id = ID de artículo, stage_id = 1 y extensión = com_content.article.

Esta consulta SQL debería hacer el trabajo por ti. Reemplaza # con tu propio prefijo de base de datos

INSERT INTO #_workflow_associations
(item_id, stage_id, extension)
SELECT id as item_id, '1', 'com_content.article' FROM #_content;

Si no os funciona esta consulta SQL, podéis proba con esta otra:

INSERT INTO #_workflow_associations (item_id, stage_id, extension)
SELECT c.id as item_id, '1', 'com_content.article' FROM #_content AS c
WHERE NOT EXISTS (SELECT wa.item_id FROM #_workflow_associations AS wa WHERE wa.item_id = c.id);

Posiblemente al escribir y guardar un nuevo artículo os de un error que dice "Save failed with the following error: Invalid parent ID" y el artículo aparentemente no se guarda. Pero si mediante PhpMyAdmin miráis en la tabla #_com_content  observaréis que el artículo aparece correctamente en la base de datos (también aparece en el frontend del sitio en vivo) pero desaparece del Administrador de artículos de Joomla. La culpa la tiene como en el caso anterior los workflow_associations, o asociaciones de flujo de trabajo.

Para arreglar esto deberéis hacer dos cosas. En primer lugar reconstruir las categorías desde el Administrador de categorías (posiblemente también tengáis que abrir las categorías una por una y volver a guardarlas) y una consulta SQL para cada artículo que os haya desaparecido del Administrador de artículos, así:

INSERT INTO `xcsrb_workflow_associations` (`item_id`, `stage_id`, `extension`) VALUES
(12345, 1, 'com_content.article');

Cambiando el valor 12345 por el ID de vuestro artículo desaparecido.

Con esto ya tendréis otra vez vuestro Joomla en condiciones saludables. Buena suerte !!!

Jesus_Caceres