Durante el día de hoy (01/10/2018), se han detectado problemas con la API (Tweet de Enrique Gómez) de Prestashop, lo que ha causado que existan problemas a la hora de manejarse por el panel (backoffice) produciendo una lentitud extrema. En las redes sociales y en el foro de Prestashop, este problema ha causado una explosión de “pánico”, pero indicar, que la comunidad de Prestashop ha encontrado una solución a la lentitud del panel de la tienda, que si bien, es temporal, sirve para salir del paso.
Pasamos a detallar los cambios para Prestashop 1.7, posteriormente hablaremos de los cambios para Prestashop 1.6.
Mientras Prestashop soluciona el problema, podéis desactivar la conexión con addons, editando el fichero => /classes/Tools.php
Cambiando el valor de => $is_addons_up (actualmente se encuentra en true) a false.
Lo mismo, en el fichero => /src/Adapter/Addons/AddonsDataProvider.php
Si bien es cierto que de este modo la tienda no conectara con addons, al menos podéis tocar el panel de administración por el momento.
También, se recomienda eliminar el fichero => /config/xml/default_country_modules_list.xml (podéis renombrarlo por default_country_modules_list.xml_old, por si las moscas.)
Esto es temporal, mientras Prestashop solventa el problema. Lo normal es dejarlo en “true”, para poder recibir notificaciones de las actualizaciones de los módulos, datos para poder descargar determinados módulos y determinada información que proporciona Prestashop en el panel.
Documento creado bajo Prestashop 1.7.4.2
* Actualización del artículo (1):
Prestashop se pronuncia sobre el problema en su perfil de twitter => https://twitter.com/PrestaShop/status/1046770678643462145
* Actualización del artículo (2) => (02/10/2018 – 18:30)
Prestashop soluciona el problema con la API, ya podéis dejarlo de nuevo en true.
https://twitter.com/PrestaShop/status/1047158296958967808
* Actualización del artículo (3)
Otras soluciones que se han ido aportando, las podéis encontrar en el foro de Prestashop:
- https://www.prestashop.com/forums/topic/907905-very-slow-backend/ (el post del foro de Prestashop, se creó con posterioridad al artículo donde os encontráis, por lo tanto comentare, por ejemplo, lo que proponen para Prestashop 1.6)
Prestashop 1.6
Donde, por ejemplo, en Prestashop 1.6, sugieren editar el fichero /classes/Tools.php, y directamente editar la función => public static function addonsRequest y que retorne directamente “false”
Antes:
Ahora:
Como veis, lo que proponen es directamente, depende comprobar la validación: “Si el valor de is_addons_up es distinto de verdadero retorno falso”, retornar directamente false en la función addonsRequest.
Como lo mejor, es crear un override de la clase y no editar el fichero original (siempre que se pueda), si hacéis este cambio, lo recomendable es crear un override en el directorio /overrides/classes/
Override => Tools.php
Contenido:
Guardar en el directorio => /override/classes/
Puedes descargar el override desde aquí => Descargar (es un fichero zip, descomprimirlo en vuestro equipo y copiar el fichero Tools.php en el directorio /override/classes/)
No se te olvide, eliminar el fichero /cache/class_index.php para que Prestashop detecte el override.
Por otro lado, se recomienda desinstalar el módulo => Gamification, si lo estuvieras usando.
También, si estuvieras usando el módulo “Gestor de tareas Cron” que trae Prestashop para añadir las tareas automáticas desde el panel de Prestashop y no desde el servidor, se recomienda añadir estas tareas directamente en el servidor, desactivando el módulo que proporciona Prestashop.
Y eliminar los ficheros (con extensión *.xml) del directorio /config/xml/ (hacer backup por seguridad).
Recuerdo, que solo hablamos, cuando Prestashop tenga problemas con la API y, por lo tanto, el panel no funcione adecuadamente, no cuando todo funciona correctamente.
* Actualización del artículo (4)
Si os da “respeto” tocar ficheros, el usuario El Patron de la comunidad de Prestashop, ha publicado recientemente un módulo para desactivar (y lógicamente activar) la conexión de la API desde el panel de administración.
Si directamente no tienes acceso al panel, y no puedes instalar por tanto el módulo, renombra la carpeta del módulo => gamification por gamification _old (se encuentra en el directorio “modules”). Si tienes acceso al panel, desactiva o desinstala el módulo, tal como hemos comentado anteriormente en el artículo.
Suponiendo, que puedas entrar al panel, pasamos a comentar el módulo de ElPatron.
El módulo es compatible con Prestashop 1.6 / 1.7.
Se puede descargar desde aquí:
- https://www.prestaheroes.com/en-us/performance-emergency-fix-disable-api-connection-to-prestashop-addons
Indicar la versión de Prestashop, para la que vais a usar el módulo antes de iniciar la descarga del mismo. - Enlace alternativo de descarga, por si falla el enlace fuente:
Descargar módulo para Prestashop 1.6
Descargar módulo para Prestashop 1.7(Intentar siempre descargarlo desde la web del desarrollador, solo usar el enlace alternativa si el enlace fuente no funciona)
La subida e instalación del módulo, como cualquier otro módulo, se realiza desde la pestaña módulos => módulos
En la configuración del módulo, disponemos de una opción para activar/desactivar la conexión con la API
Para desactivar las llamadas de las API, seleccionamos “SÍ”
PD: Dejar la información guardada en el bolsillo, por si vuelve a ocurrir.
Buenas,
para la version 1.6.1 sabrias como solucionarlo?
un saludo,
Gracias.
Si has vuelto a tener problemas, solo edita el fichero => /classes/Tools.php (en la 1.6)
Buenos días Victor,
¿Qué implicaciones tendría dejar el cambio de forma permanente?
Entiendo por un lado que aceleraría nuestra web y por el lado negativo que no recibiriamos avisos de actualizaciones.
¿Habría algo más?
Un saludo.
Hola Victor,
Gracias por tu información tan válida (como siempre).
Renombrando la carpeta “gamification” según nos indica la actualización (4) de tu artículo parece resuelto el problema con la carga de BO de prestashop. Lo he probado en las versiones 1.6 y 1.7.
Desde hace tiempo sigo tus publicaciones y siempre me han resultado de utilidad.
GRAN TRABAJO, GRAN PROFESIONAL!!!
Un Saludo!