Shopware CLI

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.

Thumbnails generieren

Ä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

HTTP-Cache aufwärmen

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.

Kategoriebaum neu aufbauen

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.

Befehlsübersicht

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:

Core Befehle

sw:thumbnail:cleanupEntfernt ungenutzte Album Vorschaubilder.
sw:thumbnail:generateGeneriert ein neues Thumbnail.
sw:generate:attributesGeneriert die Attribut-Models.
sw:warm:http:cacheWärmt den HTTP-Cache zur Performance-Steigerung auf.
sw:media:cleanupSammelt alle unbenutzten Artikelbilder und verschiebt diese in den Papierkorb
sw:snippets:find:missingFindet die fehlenden Snippets in der Datebank und schreibt diese in .ini Dateien.
sw:snippets:removeEntfernt die Snippets aus der Datenbank für einen angegebenen Ordner.
sw:snippets:to:dbLädt die Snippets aus dem "/snippets" Ordner im Hauptverzeichnis der Installation in die Datenbank. Zu finden ist der Ordner hier
sw:snippets:to:iniSchreibt die Snippets von der Datenbank in .ini Dateien.
sw:snippets:to:sql

Lädt die Snippets von einer .ini Datei in eine SQL Datei.

Plugin Befehle

sw:plugin:activateAktiviert ein Plugin.
sw:plugin:config:listListet die Plugin Konfiguration auf.
sw:plugin:config:setSetzt eine Plugin Konfiguration.
sw:plugin:deactivateDeaktiviert eine Plugin Konfiguration.
sw:plugin:deleteEntfernt ein Plugin.
sw:plugin:installInstalliert ein Plugin.
sw:plugin:listListet alle Plugins auf.
sw:plugin:refreshAktualisiert die Plugin Liste.
sw:plugin:uninstallDeinstalliert ein Plugin.
sw:plugin:updateAktualisiert ein Plugin.

Eigene Befehle mit einem Plugin anbieten

Um eigene Befehle zu erstellen, schaue hierfür in unsere DevDocs.

War dieser Artikel hilfreich?