Marketplace Redirect
Externer Kauf-Button statt Warenkorb für Sylius 2 - Amazon (ASIN) und Shopware Store, pro Channel schaltbar, Storefront und Shop API, Admin API für Importe.
Marketplace Redirect
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Überblick
Marketplace Redirect ersetzt den „In den Warenkorb“-Button eines Produkts durch einen Button zu einem externen Marktplatz. Das Plugin ist für Produkte gedacht, die nicht in deinem Shop gekauft werden können, etwa ein Buch, das du bei Amazon verkaufst, oder ein Plugin, das du über den Shopware Store vertreibst. Zwei Marktplätze werden unterstützt: Amazon (per ASIN oder ISBN-10) und der Shopware Store (per Produkt-URL).
Ein Produkt ohne Link wird wie gewohnt verkauft. Die Twig-Storefront und die Shop API zeigen dasselbe, und ein Channel ohne Freischaltung behält überall den normalen Warenkorb-Button.
Sicher im Fehlerfall: Fehlt die Datenbanktabelle oder ist eine gespeicherte Referenz nicht mehr gültig, zeigt die Produktseite den normalen Warenkorb-Button und schreibt eine Warnung ins Log, statt mit einem Fehler abzubrechen.
graph LR
A["Admin: Link am Produkt"] --> C{"Channel freigeschaltet?"}
C -->|"Nein"| D["Normaler Warenkorb-Button"]
C -->|"Ja"| E{"Produkt hat Link?"}
E -->|"Nein"| D
E -->|"Ja"| F["Storefront: externer Kauf-Button"]
E -->|"Ja"| G["Shop API: Redirect-Endpunkt"]
Dokumentation
| Seite | Inhalt |
|---|---|
| Installation | Composer, Bundle, Admin-Routen, Setup-Befehl, Update, Deinstallation |
| Konfiguration | Channel freischalten, Link am Produkt, Validierungsregeln, Praxis-Beispiele |
| Storefront | Darstellung der Buttons, Twig-Hooks und -Funktionen, Content Security Policy |
| Shop API | Endpunkt für Headless-Clients, Antwort und Fehlerverhalten |
| Admin API | Links per Import oder Automation anlegen, ändern und löschen |
| Erweiterbarkeit | Weiteren Marktplatz anbinden, austauschbare Services |
| Fehlerbehebung | Häufige Probleme, bekannte Einschränkungen, FAQ |
| Technik | Ablauf, Plugin-Struktur, Tabellen |
Features
| Feature | Beschreibung |
|---|---|
| Zwei Marktplätze | Amazon (ASIN oder ISBN-10, wählbare Amazon-Domain) und Shopware Store (Produkt-URL) |
| Pro Channel schaltbar | Das Plugin ist in jedem Channel aus, bis du es dort einschaltest |
| Link am Produkt | Karte „Externer Kauf“ im Admin-Produktformular, Prüfung der Referenz beim Speichern |
| Dual-Mode | Twig-Storefront und Shop API zeigen dasselbe, ein Headless-Client bekommt die fertige URL |
| Admin API | Vollständiges Anlegen, Lesen, Ändern und Löschen der Links für Importe und Automationen |
| Marktplatz-Look | Amazon-Button in Amazon-Gelb, Shopware-Store-Button in Weiß mit Shopware-Blau und Logo |
| Barrierefrei | Link öffnet in neuem Tab (rel="noopener noreferrer nofollow") und kündigt Screenreadern den Wechsel auf eine externe Seite an |
| Kein Theme-Override | Der Warenkorb-Block wird über einen dekorierten Hook-Renderer abgeschaltet, kein Core-Template wird kopiert |
| Ausfallsicher | Ein Datenbankfehler (etwa eine fehlende Tabelle) oder eine nicht mehr gültige gespeicherte Referenz führt zum normalen Warenkorb-Button |
Anforderungen
| Anforderung | Version | Hinweise |
|---|---|---|
| PHP | ^8.3 | |
| Sylius | ^2.2 | Die CI testet Sylius 2.2 und 2.3 |
| Symfony | ^7.4 | |
| API Platform | ^4.3 oder ^5.0 | Pakete api-platform/doctrine-orm, metadata, state, validator |
| Datenbank | MySQL 8 | Die Migrationen sind MySQL-spezifisch. Getestet mit MySQL 8.0 und 8.4 |
Lizenz
Kommerzielle Lizenz: Eine Lizenz gilt für eine Sylius-Installation (alle Channels sowie Entwicklungs- und Staging-Umgebungen), keine Weitergabe, Updates für 12 Monate ab Kauf. Das mitgelieferte Warenkorb-Symbol (Tabler Icons) behält seine eigene MIT-Lizenz.
Support
Bei Fragen zur Lizenz, technischen Fragen oder Fehlern erreichst du mich unter support@markus-michalski.net.