Warenkorb- & Checkout-Attribute: Fehlerbehebung
Symptome, Prüfungen und Lösungen, bekannte Einschränkungen und FAQ für das Sylius-Plugin Warenkorb- & Checkout-Attribute.
Warenkorb- & Checkout-Attribute: Fehlerbehebung
Fehlerbehebung
Attribut erscheint trotz Konfiguration nicht
- Symptom: Ein Attribut ist als sichtbar markiert, taucht aber nicht in Warenkorb oder Checkout auf.
- Prüfung: Ist der Kill-Switch auf der Einstellungsseite aktiv? Hat das jeweilige Order-Item überhaupt einen Wert für dieses Attribut?
- Lösung: Kill-Switch aktivieren bzw. den Wert am Produkt/an der Variante pflegen - ohne Wert wird die Spalte/Zeile für dieses Item komplett unterdrückt, nicht leer angezeigt.
Admin-Sidebar-Eintrag „Checkout-Attribute“ fehlt
- Symptom: Der Menüpunkt unter „MMKreativ Plugins“ erscheint nicht.
- Prüfung:
bin/console mmd:cart-checkout-attributes:setupausführen - meldet einen fehlenden Routen-Import mit dem passenden Snippet. - Lösung: Snippet aus Installation in
config/routes/einfügen, Cache leeren.
mmd:cart-checkout-attributes:setup bricht mit Fehler zu Voraussetzungen ab
- Symptom: Der Befehl meldet, dass Migrationen aus der Sylius-Core-Namespace noch offen sind.
- Prüfung:
bin/console doctrine:migrations:statusauf offene Core-Migrationen prüfen. - Lösung: Zuerst
bin/console doctrine:migrations:migrateausführen, danach den Setup-Befehl erneut.
Shop API liefert leere Collection trotz konfigurierter Attribute
- Symptom:
/api/v2/shop/cart-checkout-attribute-display-configsliefert eine leere Collection, obwohl Attribute konfiguriert sind. - Prüfung: Sind die Migrationen dieses Plugins vollständig ausgeführt (
bin/console mmd:cart-checkout-attributes:setup)? - Lösung: Migrationen nachziehen - die API degradiert bei fehlender Tabelle oder Spalte bewusst auf eine leere Collection statt eines 500ers.
Feature wirkt auf PostgreSQL nicht
- Symptom: Keine der Tabellen dieses Plugins existiert, obwohl die Migrationen ausgeführt wurden.
- Prüfung: Datenbanktreiber der Anwendung.
- Lösung: Nicht lösbar - die Migrationen überspringen sich selbst auf jeder Datenbank außer MySQL/MariaDB, das ist bewusstes Design.
Bekannte Einschränkungen
- Nur MySQL/MariaDB. Alle drei Migrationen sind reines MySQL-DDL und überspringen sich selbst auf jeder anderen Datenbank.
- Bestellhistorie zeigt den aktuellen, nicht den historischen Stand. Werte und Sichtbarkeits-Flags auf der Konto-Bestellhistorie sind immer die aktuellen Werte am Produkt, nicht der Stand zum Kaufzeitpunkt - es gibt keine Order-Item-seitige Momentaufnahme. Bewusst akzeptiert, kein Bug.
- Worker-Modus-Laufzeiten. Unter FrankenPHP im Worker-Modus, RoadRunner oder Swoole wird der Kill-Switch-Zustand und die Liste sichtbarer Attribut-Codes pro Worker-Prozess einmalig zwischengespeichert - eine Änderung wirkt erst nach dem nächsten Worker-Recycle.
- Kein Rechnungs- oder Lieferschein-Hook. Die Anzeige beschränkt sich auf Warenkorb, Checkout und die Bestellübersicht im Shop - es gibt keinen Haken für PDF-Dokumente.
- Keine Schreib-API. Die Shop API ist strikt lesend, Konfiguration läuft ausschließlich über das Admin-Formular.
FAQ
Allgemein
Warum wird ein konfiguriertes Attribut bei einer bestimmten Bestellung nicht angezeigt? Entweder ist der Kill-Switch aus, oder das Order-Item hat keinen Wert für dieses Attribut.
Wie finde ich heraus, welche Version installiert ist? Die Einstellungsseite (Admin-Sidebar → MMKreativ Plugins → Checkout-Attribute) zeigt die installierte Version direkt in der Titelzeile an.
Konfiguration
Kann ich „Im Checkout gesetzlich vorgeschrieben“ später wieder zurücknehmen? Ja - das ist ein einfacher, ungeschützter Schreibvorgang, es ist keine Bestätigung nötig.
Kompatibilität
Funktioniert das Plugin mit PostgreSQL? Nein, siehe „Bekannte Einschränkungen“.
Funktioniert es mit FrankenPHP im Worker-Modus? Mit Einschränkung - siehe „Bekannte Einschränkungen“.