ich bin neu in der Welt der Shopware-Plugins und aktuell auf der Suche nach einem Plugin, welches folgende Funktionalität mit sich bringt:
Neuer Tab unter Katalog → Produkte → „Zusatzprodukt hinzufügen“
Wenn ein Produkt, was vorher über Katalog → Produkte als Referenzprodukt bzw. automatisch hinzuzufügendes Produkt hinzugefügt wird, in den Warenkorb gelegt wird, soll automatisiert auch das entsprechende hinzuzufügende Produkt in den Warenkorb gelegt werden
Wenn ich nun mithilfe des Internets ein Plugin selbst erstelle, lande ich immer wieder beim selben Punkt: Es wird weder ein neuer Tab im Admin Bereich angezeigt, noch können Produkte automatisiert in den Warenkorb gepackt werden.
Nun bin ich an dem Punkt, wo ich nicht weiß wo ich noch nach Fehlern suchen könnte.
Was sind grundlegende Dinge, die bei der Plugin-Erstellung beachtet werden müssen? Eventuell kann sich jemand die Mühe machen, einmal über meinen Plugin-Code drüber zu schauen oder alternativ mögliche Gründe zu nennen, weshalb es nicht läuft.
Auch, wenn ich ein Plugin erstelle, was im Prinzip nur eine Funktion haben soll - nämlich das hinzufügen eines neuen Tabs auf der Produkte-Seite im Backend - funktioniert gar nichts.
Die extension-auto-add-product.js ist, meine ich, nicht korrekt bzw. wird so wahrscheinlich nicht geladen. Es müsste eher extension-auto-add-product/index.js sein. Funktioniert denn der Subscriber an sich?
Beim Bauen der Administration (bin/build-administraition.sh) wird aufgelistet, welche Plugins überhaupt beachtet werden. Wenn das Plugin hier nicht auftaucht, ist das immer ein Indikator dafür, dass Ordner nicht an der richtigen Stelle liegen, oder das Plugin nicht installiert und aktiviert ist.
# Compiling with Webpack configuration
# Production mode is activated 🚀
# Plugin "Storefront": Injected successfully
# Plugin "AutoAddProduct": Injected successfully
Schau dir außerdem mal die Doku von Shopware für das Erstellen von neuen Tabs an, hier wird das direkt am ProductDetail erklärt. Add tab to existing module
Wenn du erstmal nur die Tabs zum Laufen bekommen willst, würde ich dir empfehlen alles was mit deinem eigenen product_mapping (productMappingRepository in administration/src/extension/sw-product/page/sw-product-detail/index.js) zu tun hat, auszukommentieren. Dafür fehlt noch ein bisschen was (EntityDefinition, EntityClass und EntityCollection, die Migration hast du ja bereits → Adding Custom Complex Data). Sonst wirft das in der Administration Fehler, weil kein repository für product_mapping gefunden wird.
Vielen Dank für den bereitgestellten Ansatz. Ich habe es nun soweit, dass sowohl der Tab angezeigt wird, als auch ein Dropdown mit meinen Produkten.
Nun existiert noch folgende Problematik: Wenn ich ein Produkt aus dem Dropdown auswähle, wird es nicht aktiv als ausgewähltes Produkt gewählt, sondern es bleibt der Platzhalter stehen. Ich kann so jetzt auch nicht erkennen, ob es dort ein Problem gibt. Die Konsole zeigt keine Fehler an und auch die Logs erzeugen keinen Eintrag.