A consola do PrestaShop: comandos de bin/console que lhe poupam horas
Instalar, atualizar e reiniciar módulos, limpar a cache ou rever rotas sem abrir o back office. Uma cábula da consola do PrestaShop com as suas armadilhas.
Desde o PrestaShop 1.7.8, a loja traz uma consola Symfony em bin/console. Se tiver acesso SSH ao servidor, permite-lhe fazer em segundos o que no back office são vários ecrãs, e automatizá-lo.
Execute-a como o utilizador do servidor web
Se lançar a consola como root, os ficheiros de cache que gerar ficam em nome do root e o servidor web não os consegue sobrescrever: o back office começa a dar erros 500. Num 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 # executa os seus scripts upgrade/
php bin/console prestashop:module enable mimodulo
php bin/console prestashop:module disable mimodulo
php bin/console prestashop:module reset mimodulo # desinstala e reinstala
php bin/console prestashop:module uninstall mimodulo
reset em produção, verifique o que faz o uninstall() do módulo ou faça cópia das suas tabelas.Cache
php bin/console cache:clear --env=prod --no-warmup
php bin/console cache:clear --env=dev --no-warmup
A cache do Smarty (templates do front) é à parte: limpa-se em Parâmetros avançados > Desempenho ou apagando o conteúdo de var/cache/prod/smarty.
Temas e emails
php bin/console prestashop:theme:enable mitema
php bin/console prestashop:mail:generate classic es
Em algumas versões do PrestaShop 9 o comando de ativar tema falha a partir da consola porque não há idioma no contexto. Se lhe acontecer, ative-o em Design > Tema Gráfico e Logótipo.
Depuração
php bin/console debug:router | grep mimodulo # rotas registadas
php bin/console debug:container mimodulo # serviços do módulo
php bin/console list prestashop # todos os comandos do PrestaShop
Atualizações do núcleo
O módulo oficial de atualização (Update assistant, antes 1-Click Upgrade) traz a sua própria consola em modules/autoupgrade/bin/console, com comandos como update:check-requirements, update:check-modules e update:start. Permite atualizar a partir de um pacote local, sem descargas, e é a forma mais repetível de testar uma atualização numa cópia antes de a fazer em produção.
Um bom hábito
Guarde num script os comandos que executa em cada implementação (carregar o módulo, atualizá-lo, limpar caches). Repeti-los sempre da mesma forma é a melhor maneira de não se esquecer de nada.
Queres aplicá-lo na tua loja? A Rekire ajuda-te: desenvolvimento de módulos PrestaShop à medida e suporte técnico PrestaShop com pacotes de horas.