Die PrestaShop-Konsole: bin/console-Befehle, die Ihnen Stunden sparen
Module installieren, aktualisieren und zurücksetzen, Cache leeren oder Routen prüfen, ohne das Backoffice zu öffnen. Ein Spickzettel zur PrestaShop-Konsole mit ihren Fallen.
Seit PrestaShop 1.7.8 bringt der Shop eine Symfony-Konsole unter bin/console mit. Wenn Sie SSH-Zugang zum Server haben, können Sie damit in Sekunden erledigen, wofür das Backoffice mehrere Seiten braucht, und es automatisieren.
Führen Sie sie als Benutzer des Webservers aus
Wenn Sie die Konsole als root starten, gehören die erzeugten Cache-Dateien root, und der Webserver kann sie nicht überschreiben: Das Backoffice beginnt, 500-Fehler zu liefern. Auf einem typischen Server:
sudo -u www-data php bin/console cache:clear --env=prod --no-warmup
Module
php bin/console prestashop:module install mimodulo
php bin/console prestashop:module upgrade mimodulo # führt seine upgrade/-Skripte aus
php bin/console prestashop:module enable mimodulo
php bin/console prestashop:module disable mimodulo
php bin/console prestashop:module reset mimodulo # deinstalliert und installiert neu
php bin/console prestashop:module uninstall mimodulo
reset im Live-Shop, was das uninstall() des Moduls tut, oder sichern Sie seine Tabellen.Cache
php bin/console cache:clear --env=prod --no-warmup
php bin/console cache:clear --env=dev --no-warmup
Der Smarty-Cache (Frontend-Templates) ist separat: Er wird unter Erweiterte Einstellungen > Leistung geleert oder durch Löschen des Inhalts von var/cache/prod/smarty.
Themes und E-Mails
php bin/console prestashop:theme:enable mitema
php bin/console prestashop:mail:generate classic es
In einigen Versionen von PrestaShop 9 scheitert der Befehl zum Aktivieren eines Themes in der Konsole, weil im Kontext keine Sprache gesetzt ist. Falls Ihnen das passiert, aktivieren Sie es unter Design > Template und Logo.
Debugging
php bin/console debug:router | grep mimodulo # registrierte Routen
php bin/console debug:container mimodulo # Services des Moduls
php bin/console list prestashop # alle PrestaShop-Befehle
Core-Updates
Das offizielle Update-Modul (Update assistant, früher 1-Click Upgrade) bringt seine eigene Konsole in modules/autoupgrade/bin/console mit, mit Befehlen wie update:check-requirements, update:check-modules und update:start. Es erlaubt Updates aus einem lokalen Paket ohne Downloads und ist der am besten wiederholbare Weg, ein Update auf einer Kopie zu testen, bevor man es im Live-Shop durchführt.
Eine gute Gewohnheit
Halten Sie die Befehle, die Sie bei jedem Deployment ausführen (Modul hochladen, aktualisieren, Caches leeren), in einem Skript fest. Sie immer gleich auszuführen ist der beste Weg, nichts zu vergessen.