Shopware bietet einige nützliche Tools die über die Konsole ausgeführt werden können. Die sogenannten "CLI" Befehle können außerhalb von Skript-Limitierungen (Beispiel: Skriptlaufzeit des Servers) ausgeführt werden und sind daher bei der Verarbeitung großer Datenmengen empfehlenswert. Damit die Befehle ausgeführt werden können wird ein Terminal-Programm wie "PuTTY" benötigt, welches kostenlos erhältlich ist. Hier wird via "SSH" eine Verbindung zum Webserver hergestellt, auf dem die Befehle anschließend ausgeführt werden können.
Die Befehle können nach folgendem Schema ausgeführt werden:
bin/console <befehl> ODER php bin/console <befehl>
Viele Befehle enthalten ebenfalls eine Hilfefunktion, in der mögliche Parameter aufgelistet werden.
bin/console sw:plugin:list -h ODER bin/console sw:plugin:list --help
Nachfolgend einige wichtige Kommandos welche den Shopware Alltag erleichtern.
Ändert man die Standard Bildgrößen oder fügt man neue Bilder hinzu, ist es nötig, auch die Thumbnails neu zu generieren. Ein Problem hierbei ist, dass dies durch skriptseitige Beschränkungen über das Backend nur mit einer sehr geringen Stapelgröße möglich ist. Empfehlenswert ist daher die Generierung der Thumbnails über die Konsole, welche abhängig von der Anzahl der Bilder und verfügbarer Ressourcen des Servers einiges an Zeit in Anspruch nehmen kann. Grundsätzlich sollten die Thumbnails nicht regelmäßig neu generiert werden, da es sich hierbei um einen sehr performancelastigen Prozess handelt, der in der Regel nur einmalig bei Änderung der Thumbnailgrößen erforderlich ist.
php bin/console sw:thumbnail:generate
Dieser Befehl ist besonders für die Verwendung als Cronjob hilfreich, da hierdurch die Ladezeiten des Shops nach Leeren des Caches deutlich verringert werden. Über den regulären Shopware Cronjob ist dieser Prozess nicht abgedeckt, weshalb dies als separater Cronjob in der Serverkonsole hinterlegt werden muss.
php bin/console sw:warm:http:cache
Durch den Zusatz "--help" kannst Du Dir alle verfügbaren Optionen anzeigen lassen, darunter die Option, um den bestehenden Cache vorher zu leeren oder die Aufrufe in mehrere Prozesse zu unterteilen.
Weitere Informationen & nützliche Kommandos für Cronjobs findest du im Artikel Shopware Cronjobs.
Bitte beachte, dass dieser Prozess abhängig von der Artikel- bzw. Kategorieanzahl einiges an Zeit in Anspruch nehmen kann. Dieser Prozess wird für jeden (Sub-)Shop automatisch ausgeführt.
In manchen Fällen ist es erforderlich, den Kategoriebaum neu aufzubauen, jedoch sollte dies gerade bei vielen Kategorien/Artikeln nicht über das Backend erfolgen. Hier empfiehlt sich die Ausführung über die Konsole.
php bin/console sw:rebuild:category:tree
Bitte beachte, dass dieser Prozess abhängig von der Artikel- bzw. Kategorieanzahl einiges an Zeit in Anspruch nehmen kann. Dieser Prozess wird für jeden (Sub-)Shop automatisch ausgeführt.
Alle möglichen Befehle kannst Du dir über folgendes Kommando ausgeben lassen
php bin/console
Die wichtigsten Befehle haben wir für Dich hier aufgelistet:
sw:thumbnail:cleanup | Entfernt ungenutzte Album Vorschaubilder. |
sw:thumbnail:generate | Generiert ein neues Thumbnail. |
sw:generate:attributes | Generiert die Attribut-Models. |
sw:warm:http:cache | Wärmt den HTTP-Cache zur Performance-Steigerung auf. |
sw:media:cleanup | Sammelt alle unbenutzten Artikelbilder und verschiebt diese in den Papierkorb |
sw:snippets:find:missing | Findet die fehlenden Snippets in der Datebank und schreibt diese in .ini Dateien. |
sw:snippets:remove | Entfernt die Snippets aus der Datenbank für einen angegebenen Ordner. |
sw:snippets:to:db | Lädt die Snippets aus dem "/snippets" Ordner im Hauptverzeichnis der Installation in die Datenbank. Zu finden ist der Ordner hier |
sw:snippets:to:ini | Schreibt die Snippets von der Datenbank in .ini Dateien. |
sw:snippets:to:sql | Lädt die Snippets von einer .ini Datei in eine SQL Datei. |
sw:plugin:activate | Aktiviert ein Plugin. |
sw:plugin:config:list | Listet die Plugin Konfiguration auf. |
sw:plugin:config:set | Setzt eine Plugin Konfiguration. |
sw:plugin:deactivate | Deaktiviert eine Plugin Konfiguration. |
sw:plugin:delete | Entfernt ein Plugin. |
sw:plugin:install | Installiert ein Plugin. |
sw:plugin:list | Listet alle Plugins auf. |
sw:plugin:refresh | Aktualisiert die Plugin Liste. |
sw:plugin:uninstall | Deinstalliert ein Plugin. |
sw:plugin:update | Aktualisiert ein Plugin. |
Um eigene Befehle zu erstellen, schaue hierfür in unsere DevDocs.