FAQ & Troubleshooting
Häufige Fragen und konkrete Lösungswege.
Installation & Setup
Beim Installieren erscheint „SQLSTATE 1826 Duplicate foreign key constraint name“
Reste eines früheren Installations-Versuchs in der DB. Die aktuelle Migration räumt alte generische FK-Constraints (fk_set_project, fk_item_set) defensiv auf. Falls die ganze Tabelle samt FK noch vom Alt-Plugin existiert, manuell aufräumen:
DROP TABLE IF EXISTS sven_miet_booking, sven_miet_damage_log,
sven_miet_set_status_log, sven_miet_project_status_log,
sven_miet_set_item, sven_miet_set, sven_miet_project;
Danach bin/console plugin:install --activate SvenDasMiet erneut.
„EACCES: permission denied, mkdir /Resources/public“ beim Theme-Build
Der Container-User (z. B. www-data) hat keinen Schreibzugriff auf das Plugin-Verzeichnis. Lösung — Ordner vorab anlegen:
mkdir -p custom/plugins/SvenDasMiet/src/Resources/public
chmod 777 custom/plugins/SvenDasMiet/src/Resources/public
Plugin erscheint nicht im Admin-Hauptmenü
Plugin ist installiert, aber nicht aktiviert. Lösung:
bin/console plugin:activate SvenDasMiet
bin/console cache:clear
Customer-Bereich
Der Bookmark-Button erscheint nicht im Storefront
Mögliche Ursachen:
- Plugin nicht aktiv im Sales-Channel — Erweiterungen → DasMiet → Konfiguration →
enabledprüfen - Kunde nicht eingeloggt — Bookmark-Button gibt's nur für eingeloggte Kunden; nicht-Guests sehen einen Login-Link
- Theme nicht neu kompiliert nach Twig-Änderung:
bin/console cache:clear bin/console theme:compile
Datum-Felder erscheinen bei reiner Kauf-Liste
Das sollte nicht passieren. Prüfe, ob das Custom-Field sven_miet_is_rental bei allen Produkten der Liste konsistent auf false steht — und zwar in allen Sprach-Übersetzungen. CLI-Sync hilft:
bin/console sven-das-miet:setlist:set-rental
Absenden funktioniert nicht: „Bitte ein Abholdatum angeben“
Mind. einer der Artikel in der Liste ist als Mietartikel markiert. Lösungen:
- Datum eintragen, falls beabsichtigt
- Oder den Mietartikel entfernen, falls eine reine Kaufanfrage gewollt ist
- Oder das Custom-Field bei dem Artikel auf
falsestellen, falls es eigentlich kein Mietartikel sein soll
Liste hat unerwartet zwei „Sets“ statt einer
Trat in frühen 1.0.0-Versionen auf, wenn beim Quick-Add per Produktseite ein Doppel-Set angelegt wurde. Aktuell behoben. Bestehende Alt-Listen: leeres Set manuell aus sven_miet_set entfernen, oder die Liste löschen und neu anlegen.
Verfügbarkeit & Buchungen
Konflikt-Modal blockt das Absenden — auch wenn nichts überlappt
Wahrscheinliche Ursachen:
- Pufferzeiten verlängern den belegten Zeitraum. Wenn eine andere Anfrage bis Freitag geht und der globale Nach-Puffer 2 Tage beträgt, ist das Equipment effektiv bis Sonntag belegt.
- Alte „requested"-Buchungen vom Testen, die nie auf
cancelledgesetzt wurden. Test-Reset:bin/console sven-das-miet:setlist:reset --all --force - Flottenkapazität (product.stock) zu niedrig gesetzt. Bei
stock = 1ist nur eine parallele Vermietung möglich.
Kaufartikel werden bei der Verfügbarkeitsprüfung berücksichtigt
Sollte nicht passieren — Kaufartikel werden komplett übersprungen. Falls doch: prüfe ob sven_miet_is_rental = false in den Produkt-Custom-Fields gesetzt ist (und nicht nur leer). Im Zweifel:
bin/console sven-das-miet:setlist:set-rental --reset # Flag bei allen Produkten auf false
# Danach gezielt die echten Mietartikel im Admin auf true setzen
E-Mail-Versand
Status-Mails kommen nicht an
In dieser Reihenfolge prüfen — die häufigsten Ursachen liegen außerhalb des Plugins:
- Läuft ein Message-Consumer? Shopware verschickt Mails asynchron. Ohne laufenden Worker bleiben sie in der Tabelle
messenger_messagesliegen, ohne Fehlermeldung. Test:bin/console messenger:consume async --time-limit=60 -vv - Ist der Mailversand deaktiviert? Unter Einstellungen → System → Mailer gibt es einen Schalter dafür, der bei Entwicklungs-Installationen oft aktiv ist. Er verwirft jede Mail lautlos.
- Cache nach Konfigurationsänderung geleert?
bin/console cache:clear - Was steht im Log?
var/log/enthält den echten SMTP-Fehler. Typische Fälle: falsche Verschlüsselung zum Port (587 = STARTTLS, 465 = SSL) oder eine Absenderadresse, die dem SMTP-Konto nicht gehört — dann antwortet der Server mit553 Sender address rejected. Die Absenderadresse stammt aus Einstellungen → Shop → Grundinformationen und lässt sich pro Verkaufskanal überschreiben. - Sind die Vorlagen vorhanden? Unter Einstellungen → E-Mail-Vorlagen muss es zu jedem
sven_miet_*-Typ eine Vorlage geben.
Schlägt speziell der Versand aus einer Statusaktion fehl, meldet die Administration das als Warnung zurück — der Statuswechsel selbst bleibt in diesem Fall wirksam.
Betreff auf Englisch, Text auf Deutsch (oder umgekehrt)
Das deutet auf eine Vorlage aus einer frühen Installation hin. Bis Version 1.0.3 verwiesen die englischen Übersetzungen auf dieselben Inhalte wie die deutschen — englischer Betreff bei deutschem Fließtext war die Folge. Seit 1.0.4 sind beide Sprachen sauber getrennt, aber vorhandene Vorlagen werden bei Updates bewusst nicht mehr überschrieben, damit gepflegte Texte erhalten bleiben.
Zwei Wege: Entweder den Betreff der betroffenen Sprache unter Einstellungen → E-Mail-Vorlagen von Hand korrigieren, oder die Vorlage löschen und das Plugin einmal deaktivieren und wieder aktivieren — dann legt es sie in beiden Sprachen neu an. Eigene Textanpassungen gehen dabei verloren.
Werden meine Mail-Texte bei einem Update überschrieben?
Nein. Seit Version 1.0.4 legt das Plugin nur fehlende Vorlagen an und lässt vorhandene unangetastet. Bis 1.0.3 war das anders — dort wurden bei jedem Update alle Vorlagen neu erzeugt.
Order-Erzeugung
Beim Bestätigen wird keine Order angelegt
Prüfen:
- Plugin-Setting
createOrderOnConfirmaktiv? - Hat der Benutzer das Recht „Bestellungen anlegen“? Seit Version 1.0.5 verlangen die Bestätigen-Aktionen dieses Recht zusätzlich. Fehlt es, wird die Aktion mit einer Rechtemeldung abgewiesen; beim allgemeinen Statuswechsel unterbleibt still nur die Bestellung. Siehe Rechte & Rollen.
- Falls Order-Anlage fehlschlägt: Warning im Admin-Detail sichtbar? → Fehlertext sagt meist, was fehlt (Zahlungsmethode, Versandart, Adresse)
- Log-File
var/log/dev.logbzw.var/log/prod.lognach Stack-Trace durchsuchen
Order hat falsche Preise (Tagesstaffel auf Kaufartikel)
Tritt in Versionen vor 1.0.0 noch auf. In 1.0.0 ist der Pricing-Branch eingebaut: Mietartikel rechnen mit Tagesstaffel × Tage × Menge, Kaufartikel mit Standard-Produktpreis × Menge. Falls doch fehlerhaft: Custom-Field-Wert beim betroffenen Produkt prüfen.
Sonstiges
Feiertage werden nicht berücksichtigt
Liste der Feiertage in der Plugin-Konfiguration prüfen oder per CLI anzeigen:
bin/console sven-das-miet:holidays
Falls leer: Import laufen lassen mit --import. Falls voll, aber bei Berechnung trotzdem ignoriert: Setting countHolidaysAsWorkingDays prüfen — falls auf true, werden Feiertage doch als Arbeitstage gewertet.
Scheduled Task läuft nicht
Cron muss eingerichtet sein. Manuell aktivieren:
bin/console scheduled-task:register
bin/console scheduled-task:list # zeigt sven_miet_setlist.import_holidays
Cron-Konfiguration des Hosters prüfen — Shopware-Standard ist bin/console messenger:consume scheduler --time-limit=60 alle 1–5 Minuten.
Wo bekomme ich Support?
Per E-Mail an trogus@webdesignhamburg.net oder über das Kontaktformular. Reaktionszeit i. d. R. innerhalb von 2 Werktagen, bei kritischen Fehlern unverzüglicher Hotfix.