{"id":6207,"date":"2026-03-21T14:42:41","date_gmt":"2026-03-21T13:42:41","guid":{"rendered":"https:\/\/cocos.codes\/?p=6207"},"modified":"2026-03-21T15:08:25","modified_gmt":"2026-03-21T14:08:25","slug":"prestashop-1-6-i-1-7-blade-xml-en-el-panel-de-administracion","status":"publish","type":"post","link":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/archivos\/prestashop-1-6-i-1-7-blade-xml-en-el-panel-de-administracion\/","title":{"rendered":"PrestaShop 1.6 y 1.7 \u2013 error XML en el panel de administraci\u00f3n (must_have_modules_list.xml, modules_native_addons.xml)"},"content":{"rendered":"\u00bfEl gestor de m\u00f3dulos en PrestaShop arroja un error XML? A continuaci\u00f3n, te explicamos por qu\u00e9 sucede y c\u00f3mo solucionarlo eficazmente, sin necesidad de actualizar la tienda ni intervenir en la base de datos.<br \/><br \/><h6>\u00bfQu\u00e9 son los archivos XML en el directorio config\/xml\/?<\/h6>PrestaShop almacena localmente varios archivos XML que son responsables del funcionamiento de la secci\u00f3n <strong>M\u00f3dulos &gt; Gestor de m\u00f3dulos<\/strong> en el panel de administraci\u00f3n. Se descargan peri\u00f3dicamente de una API externa <a href=\"https:\/\/addons.prestashop.com\/pl\/prawne\/96548-eu-cookies-law-rodo-google-consent-20.html?search_query_id=3b8c0da3b7e22e70c1e6bbb5ac6b2ca2&amp;search_index=Products_PL_relevance\" target=\"_blank\" rel=\"noopener\">PrestaShop Addons<\/a> y guardados en el directorio:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>config\/xml\/<\/code><\/pre><\/div>Los m\u00e1s importantes son:<br \/><br \/><ul><li><span class=\"cc-highlight\">lista_modulos_obligatorios.xml<\/span> \u2013 lista de m\u00f3dulos marcados como \u201eimprescindibles\u201d por PrestaShop<\/li><li><span class=\"cc-highlight\">modules_native_addons.xml<\/span> \u2013 lista modu\u0142\u00f3w natywnych disponibles en Addons<\/li><li><span class=\"cc-highlight\">default_country_modules_list.xml<\/span> \u2013 m\u00f3dulos sugeridos para un pa\u00eds espec\u00edfico<\/li><li><span class=\"cc-highlight\">lista_de_m\u00f3dulos_confiables.xml<\/span> \u2013 lista modu\u0142\u00f3w zaufanych weryfikowanych przez PrestaShop<\/li><\/ul>Estos archivos no afectan al frontend de la tienda ni al procesamiento de pedidos. Solo se utilizan para mostrar informaci\u00f3n en la secci\u00f3n de m\u00f3dulos del panel de administraci\u00f3n.<h6><br \/>\u00bfC\u00f3mo se ve un error XML y d\u00f3nde aparece?<\/h6>El error aparece con mayor frecuencia directamente en el panel de administraci\u00f3n, en la pesta\u00f1a <strong>M\u00f3dulos<\/strong> lub po wej\u015bciu do <strong>Gestor de m\u00f3dulos<\/strong>. Los comunicados pueden tener el siguiente aspecto:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>Error encontrado: Se esperaba una etiqueta de inicio, no se encontr\u00f3 '&lt;&#039; en el archivo must_have_modules_list.xml\nError encontrado: Se esperaba una etiqueta de inicio, no se encontr\u00f3 &#039;&lt;&#039; en el archivo modules_native_addons.xml\nError encontrado: Se esperaba una etiqueta de inicio, no se encontr\u00f3 &#039;&lt;&#039; en el archivo default_country_modules_list.xml<\/code><\/pre><\/div><div class=\"cc-alert cc-alert-note\"><div class=\"cc-alert-title\">Nota<\/div><div class=\"cc-alert-content\">Estos errores aparecen en PrestaShop 1.7 y PrestaShop 8.x. En las versiones anteriores 1.6, el mecanismo funciona de manera similar, aunque la ubicaci\u00f3n de algunos archivos puede variar.<\/div><\/div><h6><br \/>\u00bfDe d\u00f3nde surge este error?<\/h6>PrestaShop env\u00eda peticiones HTTP a la API de M\u00f3dulos de PrestaShop para obtener las listas actualizadas de m\u00f3dulos. Un endpoint de ejemplo se ve as\u00ed:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>https:\/\/api.addons.prestashop.com\/?version=1.7.8.x&amp;method=listing&amp;action=must-have<\/code><\/pre><\/div>La tienda espera una respuesta en formato XML. El problema surge cuando:<ul><li>API Addons devuelve una respuesta en un formato diferente (por ejemplo, JSON o una p\u00e1gina de error HTML)<\/li><li>la conexi\u00f3n a la API est\u00e1 bloqueada por un firewall o la configuraci\u00f3n del servidor<\/li><li>el servidor de la tienda no tiene acceso a recursos externos (falta de tr\u00e1fico HTTP\/HTTPS saliente)<\/li><li>Los complementos de la API no est\u00e1n disponibles temporalmente o devuelven tiempo de espera agotado<\/li><li>La versi\u00f3n de PrestaShop es demasiado antigua y ya no es compatible con la API.<\/li><\/ul>Analizador PHP <span class=\"cc-highlight\">simplexml_load_string()<\/span> al intentar procesar una respuesta incorrecta, informa este error: <em>Se esperaba una etiqueta de inicio<\/em>.<br \/><br \/><h6><br \/>\u00bfEl error afecta el funcionamiento de la tienda?<\/h6><div class=\"cc-alert cc-alert-success\"><div class=\"cc-alert-title\">\u00c9xito<\/div><div class=\"cc-alert-content\">El frontend de la tienda, el carrito de compras, los pedidos, los pagos y todos los procesos de compra funcionan normalmente. El error concierne \u00fanicamente al panel de administraci\u00f3n, espec\u00edficamente a la secci\u00f3n de gesti\u00f3n de m\u00f3dulos.<\/div><\/div>\u00bfQu\u00e9 puede dejar de funcionar en el panel:<ul><li>lista rekomendowanych modu\u0142\u00f3w<\/li><li>secci\u00f3n \u201eimprescindibles\u201d en el gestor de m\u00f3dulos<\/li><li>Marketplace Complementos accesible desde el admin<\/li><li>sugestie modu\u0142\u00f3w dla kraju<\/li><li>Carga m\u00e1s lenta de la p\u00e1gina M\u00f3dulos (tiempo de espera al intentar conectarse a la API)<\/li><\/ul><h6><br \/>Paso 1 \u2013 comprobaci\u00f3n del contenido de los archivos XML<\/h6>Antes de realizar cualquier cambio, vale la pena comprobar qu\u00e9 hay actualmente en los archivos. Por <a href=\"https:\/\/pl.wikipedia.org\/wiki\/Secure_Shell\" title=\"SSH\" target=\"_blank\" rel=\"noopener\">SSH<\/a> hacemos:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>gato config\/xml\/must_have_modules_list.xml<\/code><\/pre><\/div>Si el archivo est\u00e1 vac\u00edo, contiene HTML (por ejemplo, una p\u00e1gina de error 503) o JSON en lugar de XML, esa es la fuente del problema.<br \/><br \/><div class=\"cc-alert cc-alert-tip\"><div class=\"cc-alert-title\">Consejo<\/div><div class=\"cc-alert-content\">Para comprobar el contenido de un archivo, tambi\u00e9n puede utilizar el administrador de archivos en el panel de hosting (por ejemplo, Hestia CP, cPanel) o un cliente FTP; no se requiere acceso SSH.<\/div><\/div><h6><br \/>Paso 2 - Intercambio de archivos por XML correcto<\/h6>La soluci\u00f3n m\u00e1s r\u00e1pida es reemplazar el contenido de los archivos problem\u00e1ticos por un XML m\u00ednimo y correcto. A trav\u00e9s de SSH, ejecutamos:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>echo '' &gt; config\/xml\/must_have_modules_list.xml\necho '' &gt; config\/xml\/modules_native_addons.xml\necho '' &gt; config\/xml\/default_country_modules_list.xml\necho '' &gt; config\/xml\/trusted_modules_list.xml<\/code><\/pre><\/div>Tambi\u00e9n puedes cargar archivos manualmente a trav\u00e9s de FTP. El contenido de cada uno deber\u00eda verse as\u00ed:<br \/><br \/><div class=\"cc-code-quote\"><pre><code><\/code><\/pre><\/div><div class=\"cc-alert cc-alert-warning\"><div class=\"cc-alert-title\">Advertencia<\/div><div class=\"cc-alert-content\">El simple reemplazo de archivos solucionar\u00e1 el problema temporalmente. PrestaShop, en la pr\u00f3xima actualizaci\u00f3n de la p\u00e1gina de m\u00f3dulos, intentar\u00e1 descargar los datos de la API nuevamente y podr\u00eda sobrescribir los archivos con una respuesta err\u00f3nea.<\/div><\/div><h6><br \/>Paso 3: soluci\u00f3n permanente mediante anulaci\u00f3n de clase<\/h6>Para bloquear permanentemente los intentos de descarga de XML de la API de Addons, crearemos un override de clase. <span class=\"cc-highlight\">Herramientas<\/span>. Creamos un archivo:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>override\/classes\/Tools.php<\/code><\/pre><\/div>Sobre el siguiente contenido:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>&lt;?php\nclass Tools extends ToolsCore\n{\n    protected static $is_addons_up = false;\n}<\/code><\/pre><\/div>Propiedad <span class=\"cc-highlight\">$es_complementos_arriba = falso<\/span> hace que PrestaShop no intente conectarse a la API de Addons, y por lo tanto, no descargar\u00e1 ni sobrescribir\u00e1 archivos XML.<br \/><br \/>Despu\u00e9s de crear el archivo override, borramos la cach\u00e9. Para <strong>PrestaShop 1.7 \/ 8.x<\/strong>:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>rm -rf var\/cache\/dev\/*\nrm -rf var\/cache\/prod\/*<\/code><\/pre><\/div>Tambi\u00e9n puedes limpiar la cach\u00e9 desde el panel de administraci\u00f3n: <strong>Avanzado &gt; Rendimiento &gt; Borrar cach\u00e9<\/strong>.<br \/><br \/><div class=\"cc-alert cc-alert-info\"><div class=\"cc-alert-title\">Informaci\u00f3n<\/div><div class=\"cc-alert-content\">Tras aplicar el override, la secci\u00f3n de m\u00f3dulos sigue funcionando plenamente: se pueden instalar, desinstalar y actualizar m\u00f3dulos desde un archivo ZIP. Solo se desactiva la integraci\u00f3n con el marketplace Addons en el panel de administraci\u00f3n.<\/div><\/div><h6><br \/>Alternativa: bloqueo de escritura en archivos<\/h6>Si no queremos usar la anulaci\u00f3n, podemos configurar los archivos XML con permisos de solo lectura. PrestaShop no podr\u00e1 sobrescribirlos:<br \/><br \/><div class=\"cc-code-quote\"><pre><code>chmod 444 config\/xml\/must_have_modules_list.xml\nchmod 444 config\/xml\/modules_native_addons.xml\nchmod 444 config\/xml\/default_country_modules_list.xml\nchmod 444 config\/xml\/trusted_modules_list.xml<\/code><\/pre><\/div><div class=\"cc-alert cc-alert-note\"><div class=\"cc-alert-title\">Nota<\/div><div class=\"cc-alert-content\">El m\u00e9todo con chmod es m\u00e1s simple, pero no elimina los intentos de conexi\u00f3n a la API; PrestaShop a\u00fan los realizar\u00e1, lo que podr\u00eda ralentizar la carga de la p\u00e1gina de los m\u00f3dulos. Sobrescribir la clase Tools es una soluci\u00f3n t\u00e9cnicamente m\u00e1s limpia.<\/div><\/div><h6><br \/>\u00bfQu\u00e9 no perdemos al desactivar la API de complementos?<\/h6>Vale la pena saber que en un entorno de producci\u00f3n, la mayor\u00eda de estas funciones no se utilizan en el d\u00eda a d\u00eda de todos modos:<br \/><br \/><table class=\"woocommerce-table shop_table\"><thead><tr><td><strong>Funci\u00f3n<\/strong><\/td><td><strong>Despu\u00e9s de desactivar la API<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Front-end de la tienda<\/td><td>Funciona sin cambios.<\/td><\/tr><tr><td>Pedidos y carrito<\/td><td>Funciona sin cambios.<\/td><\/tr><tr><td>Instalaci\u00f3n de m\u00f3dulos desde ZIP<\/td><td>Funciona sin cambios.<\/td><\/tr><tr><td>Actualizaciones de m\u00f3dulos<\/td><td>Funciona sin cambios.<\/td><\/tr><tr><td>Complementos del Marketplace en el administrador<\/td><td>No disponible<\/td><\/tr><tr><td>M\u00f3dulos \u201eimprescindibles\u201d recomendados\u201d<\/td><td>No disponible<\/td><\/tr><tr><td>Sugerencias de m\u00f3dulos para el pa\u00eds<\/td><td>No disponible<\/td><\/tr><\/tbody><\/table><br \/><h6>\u00bfCu\u00e1ndo puede regresar el error?<\/h6>Si solo aplicamos el reemplazo de archivos sin anulaci\u00f3n (override) o chmod, el error puede regresar despu\u00e9s de:<br \/><br \/><ul><li>refrescamento de la p\u00e1gina del Administrador de m\u00f3dulos<\/li><li>iniciar cron PrestaShop<\/li><li>Actualizaci\u00f3n de PrestaShop<\/li><li>limpieza de la cach\u00e9<\/li><\/ul>Por lo tanto, recomendamos combinar ambos pasos: la sustituci\u00f3n de archivos <strong>i<\/strong> anular la clase o el bloqueo de escritura.<br \/><br \/><h6>Resumen<\/h6>El error XML en el panel de PrestaShop es un problema de comunicaci\u00f3n entre la versi\u00f3n antigua de la tienda y la API de Addons. No es una falla del servidor, un problema de la base de datos ni la presencia de malware. La tienda funciona normalmente. La soluci\u00f3n es r\u00e1pida y no requiere una actualizaci\u00f3n de PrestaShop.<br \/><br \/>Pasos recomendados:<br \/><br \/><ol><li>Verificar el contenido de los archivos en <span class=\"cc-highlight\">config\/xml\/<\/span><\/li><li>Reemplazo de archivos por XML m\u00ednimo v\u00e1lido<\/li><li>Agregar anulaci\u00f3n de clase <span class=\"cc-highlight\">Herramientas<\/span> z <span class=\"cc-highlight\">$es_complementos_arriba = falso<\/span><\/li><li>Limpiar la cach\u00e9 de PrestaShop<\/li><\/ol>Si necesitan ayuda para implementar los cambios mencionados o desean aprovechar para realizar una auditor\u00eda t\u00e9cnica de la tienda, estaremos encantados de ayudar.<br \/><br \/><a class=\"button\" href=\"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/pongase-en-contacto-con\/\" title=\"Contacte con nosotros\">P\u00f3ngase en contacto con nosotros<\/a>","protected":false},"excerpt":{"rendered":"\u00bfEl gestor de m\u00f3dulos en Presta Shop devuelve un error XML? A continuaci\u00f3n, le explicamos por qu\u00e9 ocurre y c\u00f3mo solucionarlo eficazmente, sin necesidad de actualizar la tienda ni de intervenir en la base de datos.","protected":false},"author":1,"featured_media":6220,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"powered_cache_disable_cache":false,"powered_cache_disable_css_optimization":false,"powered_cache_disable_js_optimization":false,"footnotes":""},"categories":[137,135],"tags":[344,346,345,143],"class_list":["post-6207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prestashop","category-baza-wiedzy","tag-blad-xml","tag-modules_native_addons-xml","tag-must_have_modules_list-xml","tag-prestashop"],"_links":{"self":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/posts\/6207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/comments?post=6207"}],"version-history":[{"count":0,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/posts\/6207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/media\/6220"}],"wp:attachment":[{"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/media?parent=6207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/categories?post=6207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iarina029.supserv.cozmoslabs.com\/es\/wp-json\/wp\/v2\/tags?post=6207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}