Marketplace Redirect: Fehlerbehebung
Fehlerbehebung für Marketplace Redirect: Symptome, Prüfschritte und Lösungen, bekannte Einschränkungen und FAQ.
Marketplace Redirect: Fehlerbehebung
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Häufige Probleme
Symptom: Auf der Produktseite steht weiter der normale Warenkorb-Button, obwohl das Produkt einen Link hat.
Prüfen: Ist der Channel unter MMKreativ Plugins → Marketplace redirect eingeschaltet? Das Produkt muss außerdem im Channel verkauft werden, und der Link muss gültig gespeichert sein. Im Log steht bei einer ungültigen gespeicherten Referenz eine Warnung.
Lösung: Eintrag für den Channel anlegen und „Use the external buy button in this channel“ einschalten. Ein Channel ohne Eintrag zählt als ausgeschaltet.
Symptom: Der Menüpunkt „Marketplace redirect“ und seine Seite fehlen im Admin.
Prüfen: Sind die Admin-Routen importiert (config/routes/mmd_marketplace_redirect.yaml)?
Lösung: Den Import laut Installation ergänzen und den Cache leeren. Der Setup-Befehl gibt den Snippet aus, wenn der Import fehlt.
Symptom: Die Karte „External purchase“ speichert nichts, oder ein neues Produkt mit gewähltem Marktplatz lässt sich nicht anlegen.
Prüfen: Ist der Setup-Befehl gelaufen? Ohne die Tabellen kann die Karte nichts ablegen.
Lösung: bin/console mmd:marketplace-redirect:setup ausführen.
Symptom: Der Setup-Befehl bricht ab und nennt offene Migrationen.
Prüfen: Sind Migrationen von Sylius selbst noch offen?
Lösung: Zuerst bin/console doctrine:migrations:migrate ausführen, danach den Setup-Befehl erneut.
Symptom: Der Setup-Befehl meldet, die Migrationen des Plugins seien nicht bei Doctrine registriert.
Prüfen: Ist das Bundle in config/bundles.php eingetragen, und steht sylius_core.prepend_doctrine_migrations auf false?
Lösung: Bundle registrieren und die Option nicht auf false setzen.
Symptom: Das Shopware-Store-Feld wird mit „This is not a Shopware Store product URL“ abgelehnt.
Prüfen: Ist es eine https-Adresse auf genau store.shopware.com, ohne Benutzerangabe, Port oder Leerzeichen, mit einem Pfad?
Lösung: Die vollständige Produkt-URL aus dem Store einfügen.
Symptom: Die Amazon-ASIN wird als ungültig abgelehnt.
Prüfen: Hat die Eingabe genau 10 Buchstaben und Ziffern, ohne Bindestriche?
Lösung: ASIN oder ISBN-10 ohne Sonderzeichen eintragen.
Symptom: Der Shopware-Button zeigt kein Logo, oder die Buttons haben keine Farben.
Prüfen: Blockiert eine Content Security Policy data:-Bilder oder Inline-Styles?
Lösung: img-src data: und style-src 'unsafe-inline' erlauben, siehe Storefront.
Symptom: Das Feld „Amazon domain“ erscheint auch bei gewähltem Amazon nicht.
Prüfen: Ist der Browser älter als etwa 2023?
Lösung: Das Feld wird per CSS (:has()) eingeblendet, ein älterer Browser lässt es ausgeblendet. Nutze einen aktuellen Browser oder setze die Domain über die Admin API. Ohne Angabe gilt amazon.de.
Symptom: Die Shop API antwortet mit 404.
Prüfen: Ist das Produkt aktiv, im aktuellen Channel verkauft und hat es einen Link? Ist der Channel eingeschaltet?
Lösung: Siehe Shop API. Alle diese Fälle antworten bewusst gleich.
Bekannte Einschränkungen
- Der Button wird ersetzt, der Warenkorb aber nicht gesperrt: Wer die Warenkorb-Anfrage von Hand sendet, kann das Produkt trotzdem in den Warenkorb legen. Deaktiviere die Varianten des Produkts oder halte es aus dem Checkout heraus, wenn das für dich wichtig ist.
- Es gibt noch keine Behat-Szenarien. Die Twig-Seite ist durch PHPUnit-Render-Tests abgedeckt, die API durch Funktionstests gegen einen echten Kernel mit Datenbank.
- Die Migrationen sind MySQL-spezifisch, getestet wird mit MySQL 8.0 und 8.4.
- Ein dritter Marktplatz braucht eine Änderung am Plugin, siehe Erweiterbarkeit.
FAQ
Allgemein
- Was passiert mit einem Produkt ohne Link? Es wird wie gewohnt im Shop verkauft.
- Was passiert, wenn der Link kaputt ist oder die Tabelle fehlt? Die Produktseite zeigt den normalen Warenkorb-Button und schreibt eine Warnung ins Log.
- Kann ein Produkt mehrere Links haben? Nein, höchstens einen.
Konfiguration
- Muss ich etwas in
config/packages/eintragen? Nein. Das Plugin hat keine Bundle-Konfiguration, alles läuft über den Admin. - Kann ich den Button nur in einem Channel zeigen? Ja, schalte nur dort das Plugin ein.
Kompatibilität
- Funktioniert das Plugin headless? Ja, über den Endpunkt der Shop API.
- Läuft es in Worker-Umgebungen wie FrankenPHP oder RoadRunner? Ja. Der Provider setzt seinen Zwischenspeicher zwischen den Anfragen zurück, ein geänderter Link erscheint also ohne Neustart.