Markus Michalski FAQ

Product Custom Inputs: Fehlerbehebung

Fehlerbehebung für Product Custom Inputs: fehlender Menüpunkt, Felder erscheinen nicht, gesperrter Button, 404 an der Shop API, bekannte Einschränkungen und FAQ.

English Version

Zurück zur Übersicht

Product Custom Inputs: Fehlerbehebung

Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.

Der Admin-Menüpunkt fehlt

Symptom: Unter "MMKreativ Plugins" erscheint kein Eintrag "Produkt-Zusatzfelder" (die Gruppe selbst kann von einem anderen Plugin stammen).

Prüfen: Steht der Routen-Import in config/routes.yaml? Das Plugin blendet den Eintrag bewusst aus, wenn die Route nicht registriert ist, statt einen Fehler zu werfen.

Lösung: Den Import @MmdSyliusProductCustomInputsPlugin/config/routes/admin.yaml ergänzen (siehe Installation) und den Cache leeren. Der Setup-Command gibt den Snippet ebenfalls aus, wenn der Import fehlt.

Der Setup-Command bricht ab

Symptom: mmd:product-custom-inputs:setup endet mit einer Fehlermeldung.

Prüfen:

  1. Meldet er, dass Migrationen offen sind, auf denen das Plugin aufbaut ("Migrations this plugin builds on are still open")? Dann sind Migrationen des Sylius-Core noch nicht ausgeführt.
  2. Meldet er, dass die Migrationen nicht bei Doctrine registriert sind? Dann ist das Bundle nicht aktiviert, oder sylius_core.prepend_doctrine_migrations steht auf false.

Lösung: Im ersten Fall php bin/console doctrine:migrations:migrate ausführen und den Setup-Command wiederholen. Im zweiten Fall Bundle-Eintrag und die Einstellung prüfen.

Die Felder erscheinen nicht im Add-to-Cart-Formular

Symptom: Auf der Produktseite fehlen die Eingabefelder.

Prüfen:

  1. Ist das Feld dem Produkt im Admin zugeordnet (Produktformular, Bereich "Allgemein")?
  2. Steht der Schalter "Aktiviert" auf der Einstellungsseite an?
  3. Wurde der Setup-Command ausgeführt?

Lösung: Zuordnung setzen, Schalter aktivieren oder php bin/console mmd:product-custom-inputs:setup ausführen.

Das Plugin bricht bei Datenbankfehlern nicht ab, sondern schreibt sie ins Log: Fehlt die Tabelle noch, erscheint das Formular ohne Felder, lässt sich der Schalter nicht lesen, gilt das Plugin als aktiviert.

Prüfe bei fehlenden Feldern deshalb zuerst das Log.

Der Button bleibt nach einem Validierungsfehler gesperrt

Symptom: Nach einer fehlerhaften Eingabe lässt sich "In den Warenkorb" nicht mehr anklicken, auch nach der Korrektur.

Prüfen: Überschreibst du custom_inputs.html.twig auf der Produktseite?

Lösung: Die data-model-Behandlung aus dem Original-Template übernehmen (siehe Storefront).

POST an die Shop API liefert 404

Symptom: POST .../custom-inputs antwortet mit 404, obwohl Bestellung und Position existieren.

Prüfen:

  1. Ist die Bestellung noch ein Warenkorb?
  2. Gehört die Bestellung dem angemeldeten Kunden, oder ist sie eine Gast-Bestellung?
  3. Gehört das Feld zum Produkt der Position?
  4. Ist das Plugin im Admin aktiviert?

Lösung: Den Fall beheben, der zutrifft. Alle vier führen bewusst zur selben 404-Antwort.

Neue Eingaben überschreiben alte

Das ist gewollt: Dieselbe Variante nochmals in den Warenkorb zu legen erhöht die Menge der bestehenden Position, die neuen Eingaben ersetzen die bisherigen.

Bekannte Einschränkungen

FAQ

Kann ein Feld bei jedem Produkt anders gelten? Nein. Pflichtfeld, Position und alle Grenzen gehören zum Feld. Für abweichende Regeln legst du ein zweites Feld an.

Gibt es Einstellungen pro Channel? Nein, nur den shop-weiten Schalter.

Bleiben Werte erhalten, wenn ich ein Feld vom Produkt löse? Ja, bereits erfasste Eingaben an Bestellpositionen bleiben bestehen. Löschst du das Feld selbst, werden seine Werte mitgelöscht.