CLI-Befehle

Komplette Referenz aller plugin-eigenen Symfony-Console-Commands.

Alle Plugin-Befehle sind unter dem Namespace sven-das-miet:* erreichbar. Übersicht aller verfügbaren Befehle anzeigen: bin/console list sven-das-miet.

Custom Fields sicherstellen

Registriert das Custom-Field-Set „Mietartikel" mit allen Produktfeldern idempotent — falls beim Install etwas fehlgeschlagen ist oder Felder nachträglich ergänzt wurden.

bin/console sven-das-miet:custom-fields

Wirkung:

Rental-Flag setzen / synchronisieren

Setzt das Custom Field sven_miet_is_rental auf allen Produkten — über alle Sprach-Übersetzungen konsistent.

Alle Produkte als Mietartikel markieren

bin/console sven-das-miet:set-rental-flag --all

Alle Produkte als Kaufartikel markieren

bin/console sven-das-miet:set-rental-flag --all=false

Sprach-Synchronisation

Verteilt den kanonischen Wert über alle product_translation-Zeilen, ohne den Wert selbst zu ändern. Sinnvoll wenn bei einzelnen Produkten Übersetzungen inkonsistent sind.

bin/console sven-das-miet:set-rental-flag
--all und --all=false überschreiben individuelle Produkt-Einstellungen. Im Mixed-Sortiment lieber nur einmalig --all=false laufen lassen (alle initial auf Kauf), danach gezielt einzelne Produkte im Admin als Mietartikel markieren.

Feiertage

Feiertage importieren (aktuelles + nächstes Jahr)

bin/console sven-das-miet:holidays --import

Holt die Feiertage von feiertage-api.de für DE/AT/CH und speichert sie in der Plugin-SystemConfig. Wird automatisch monatlich vom Scheduled Task sven_miet_setlist.import_holidays ausgeführt.

Aktuelle Feiertage anzeigen

bin/console sven-das-miet:holidays

Zeigt die in der SystemConfig hinterlegte Liste mit Bezeichnung an.

Test-Reset

Löscht alle Anfragen, Listen, Buchungen und Status-Logs aus der DB — für Testzwecke vor Demo-Aufzeichnungen oder bei lokalem Testen.

bin/console sven-das-miet:reset --confirm
Achtung — destruktiv! Der Befehl löscht alle Plugin-Daten unwiderruflich. Niemals auf einer Live-Datenbank ohne Backup ausführen. Das --confirm-Flag ist Pflicht, damit der Befehl überhaupt läuft.

Scheduled Tasks

Plugin registriert zwei Scheduled Tasks bei der Aktivierung:

TaskIntervallZweck
sven_miet_setlist.import_holidaysmonatlichFeiertage-Auto-Import
sven_miet_setlist.complete_bookingstäglichAbgelaufene confirmed-Buchungen abschließen

Tasks registrieren

bin/console scheduled-task:register

Einmalig nach Plugin-Aktivierung nötig. Anschließend kümmert sich Shopware um die Ausführung (falls Cron läuft).

Tasks anzeigen

bin/console scheduled-task:list

Zeigt alle registrierten Tasks mit Status und nächstem Ausführungszeitpunkt.

Cron-Beispiel

# Crontab — Shopware-Scheduler alle 5 Minuten
*/5 * * * * cd /var/www/html && bin/console messenger:consume scheduler --time-limit=60 --quiet

Cheat-Sheet (alle Befehle)

# --- Setup-/Maintenance ---
bin/console sven-das-miet:custom-fields              # Custom Fields idempotent sicherstellen

# --- Rental-Flag ---
bin/console sven-das-miet:set-rental-flag --all      # alle Produkte = Mietartikel
bin/console sven-das-miet:set-rental-flag --all=false # alle Produkte = Kaufartikel
bin/console sven-das-miet:set-rental-flag            # Sprach-Sync ohne Werteänderung

# --- Feiertage ---
bin/console sven-das-miet:holidays --import          # Import aus API
bin/console sven-das-miet:holidays                   # aktuelle Liste anzeigen

# --- Test ---
bin/console sven-das-miet:reset --confirm            # alle Anfragen/Buchungen löschen (destruktiv)

# --- Scheduled Tasks ---
bin/console scheduled-task:register                  # Tasks registrieren
bin/console scheduled-task:list                      # Status der Tasks

# --- Cache (nach Twig-/Config-Änderungen) ---
bin/console cache:clear
bin/console theme:compile

# --- Plugin selbst ---
bin/console plugin:refresh                           # nach Datei-Änderungen erneut einlesen
bin/console plugin:install --activate SvenDasMiet
bin/console plugin:uninstall SvenDasMiet --keep-user-data  # behält DB-Daten
bin/console plugin:uninstall SvenDasMiet             # löscht alle Plugin-Daten
← Administration Weiter: FAQ →