La consola de PrestaShop: comandos de bin/console que te ahorran horas
Instalar, actualizar y reiniciar módulos, vaciar caché o revisar rutas sin abrir el back office. Una chuleta de la consola de PrestaShop con sus trampas.
Desde PrestaShop 1.7.8, la tienda trae una consola de Symfony en bin/console. Si tienes acceso SSH al servidor, te permite hacer en segundos lo que en el back office son varias pantallas, y automatizarlo.
Ejecútala como el usuario del servidor web
Si lanzas la consola como root, los ficheros de caché que genere quedarán a nombre de root y el servidor web no podrá sobrescribirlos: el back office empezará a dar errores 500. En un servidor típico:
sudo -u www-data php bin/console cache:clear --env=prod --no-warmup
Módulos
php bin/console prestashop:module install mimodulo
php bin/console prestashop:module upgrade mimodulo # ejecuta sus scripts upgrade/
php bin/console prestashop:module enable mimodulo
php bin/console prestashop:module disable mimodulo
php bin/console prestashop:module reset mimodulo # desinstala y reinstala
php bin/console prestashop:module uninstall mimodulo
reset en producción, comprueba qué hace el uninstall() del módulo o haz copia de sus tablas.Caché
php bin/console cache:clear --env=prod --no-warmup
php bin/console cache:clear --env=dev --no-warmup
La caché de Smarty (plantillas del front) es aparte: se vacía desde Parámetros avanzados > Rendimiento o borrando el contenido de var/cache/prod/smarty.
Temas y correos
php bin/console prestashop:theme:enable mitema
php bin/console prestashop:mail:generate classic es
En algunas versiones de PrestaShop 9 el comando de activar tema falla desde la consola porque no hay idioma en el contexto. Si te pasa, actívalo desde Diseño > Tema y logotipo.
Depuración
php bin/console debug:router | grep mimodulo # rutas registradas
php bin/console debug:container mimodulo # servicios del módulo
php bin/console list prestashop # todos los comandos de PrestaShop
Actualizaciones del núcleo
El módulo oficial de actualización (Update assistant, antes 1-Click Upgrade) trae su propia consola en modules/autoupgrade/bin/console, con comandos como update:check-requirements, update:check-modules y update:start. Permite actualizar desde un paquete local, sin descargas, y es la forma más repetible de probar una actualización en una copia antes de hacerla en producción.
Un buen hábito
Guarda en un guion los comandos que ejecutas en cada despliegue (subir módulo, actualizarlo, vaciar cachés). Repetirlos siempre igual es la mejor forma de que nada se olvide.