CLI-Befehle
Komplette Referenz aller plugin-eigenen Symfony-Console-Commands.
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:
- Custom-Field-Set
sven_miet_rentalmit Label „Mietartikel" anlegen, falls fehlt - Set-Relation zu Entity
productsicherstellen - Alle Produktfelder (
sven_miet_is_rental,sven_miet_buffer_before_daysetc.) idempotent anlegen oder umhängen
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
--confirm-Flag ist Pflicht, damit der Befehl überhaupt läuft.
Scheduled Tasks
Plugin registriert zwei Scheduled Tasks bei der Aktivierung:
| Task | Intervall | Zweck |
|---|---|---|
sven_miet_setlist.import_holidays | monatlich | Feiertage-Auto-Import |
sven_miet_setlist.complete_bookings | täglich | Abgelaufene 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