Hace algunos meses hablamos acerca de cómo solucionar el problema Id must be filled for categories tree. A día de hoy, todavía sois muchos quienes me escribís indicando que habéis tenido este problema. Sabemos que es algo muy común y al igual que el error 500 en Prestashop, esto puede aparecer por diversos motivos. En esta entrada, vamos a intentar ver los 2 más comunes para evitar esto.
¿Cómo aparece el error Id must be filled for categories tree en pantalla?
El error Id must be filled for categories tree se reproduce en formato de error, independientemente de si tenemos activado el modo debug o no desde nuestro panel de control. En pantalla nos aparecerá un texto como el que se visualiza en la imagen anterior. Id must be filled for categories tree at line xxx in file classes/helper/HelperForm.php Como veis tiene toda la pinta de que el error es derivado por un fallo en el script HelperForm.php, bien pues ni caso. Este script lo que detecta es que no se está enviando un parámetro necesario para la correcta funcionalidad de la plataforma.
case 'categories': if ($categories) { if (!isset($params['tree']['id'])) throw new PrestaShopException('Id must be filled for categories tree'); $tree = new HelperTreeCategories($params['tree']['id'], isset($params['tree']['title']) ? $params['tree']['title'] : null); if (isset($params['name'])) $tree->setInputName($params['name']);
¿Cómo resolver el error Id must be filled for categories tree en Prestashop?
Lo primero que debemos hacer, es comprobar que no tengamos el módulo background switcher. Este es el primer, y en la mayoría de casos único responsable del error Id must be filled for categories tree. No hablo de tenerlo activo o no, si no de desinstalarlo. Borrarlo de vuestra plataforma ya que si no os da problemas en este momento, los dará en un futuro. En versiones anteriores a la versión 1.7.x de Prestashop desconozco el comportamiento del módulo, pero en versiones actuales es un auténtico fracaso. Como he dicho anteriormente son muchas las personas que han reportado fallos en sus comercios por tener este módulo instalado. Otra buena práctica es jamás modificar las categorías directamente desde la base de datos. Si intentamos modificar las categorías desde PhpMyAdmin o similar, lo que podemos conseguir es eliminar alguna categoría padre y que las hijas se queden huérfanas. Por lo tanto, volveríamos a tener el mismo problema.
Actualizaciones acerca del módulo background switcher
Revisando el módulo en el repositorio oficial de Prestashop, podemos ver que el desarrollador que creo este módulo recibió suficientes quejas como para solucionar el bug existente y dar el tema por cerrado.
Pero lamentablemente vemos que el error sigue sin estar solucionado. A ver si en nuevas versiones queda este tema zanjado y la gente que no tiene conocimientos de programación puede utilizarlo sin temor a que les deje de funcionar su comercio electrónico. Y hasta aquí nuestra entrada breve de hoy. Como siempre digo, espero que os haya sido de utilidad. Versiones utilizadas, tiempo y dificultad de desarrollo: Plataforma: Prestashop 1.7.2.4 Módulo integrado: Background switcher 1.2.3 Tiempo de reparación: 30 minutos Dificultad: Avanzado.