La console di PrestaShop: comandi di bin/console che ti fanno risparmiare ore
Installare, aggiornare e reimpostare moduli, svuotare la cache o controllare le rotte senza aprire il back office. Un promemoria della console di PrestaShop con le sue trappole.
Da PrestaShop 1.7.8, il negozio include una console Symfony in bin/console. Se hai accesso SSH al server, ti permette di fare in pochi secondi ciò che nel back office richiede diverse schermate, e di automatizzarlo.
Eseguila come utente del server web
Se lanci la console come root, i file di cache che genera resteranno intestati a root e il server web non potrà sovrascriverli: il back office inizierà a dare errori 500. Su un server tipico:
sudo -u www-data php bin/console cache:clear --env=prod --no-warmup
Moduli
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 in produzione, controlla cosa fa l'uninstall() del modulo o fai un backup delle sue tabelle.Cache
php bin/console cache:clear --env=prod --no-warmup
php bin/console cache:clear --env=dev --no-warmup
La cache di Smarty (template del front) è a parte: si svuota da Parametri avanzati > Prestazioni o cancellando il contenuto di var/cache/prod/smarty.
Temi ed email
php bin/console prestashop:theme:enable mitema
php bin/console prestashop:mail:generate classic es
In alcune versioni di PrestaShop 9 il comando per attivare il tema fallisce dalla console perché non c'è una lingua nel contesto. Se ti succede, attivalo da Aspetto > Tema e logo.
Debug
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
Aggiornamenti del core
Il modulo ufficiale di aggiornamento (Update assistant, prima 1-Click Upgrade) ha una propria console in modules/autoupgrade/bin/console, con comandi come update:check-requirements, update:check-modules e update:start. Permette di aggiornare da un pacchetto locale, senza download, ed è il modo più ripetibile per provare un aggiornamento su una copia prima di farlo in produzione.
Una buona abitudine
Salva in uno script i comandi che esegui a ogni deploy (caricare il modulo, aggiornarlo, svuotare le cache). Ripeterli sempre allo stesso modo è il modo migliore perché non si dimentichi niente.