Probleme bei Plugin-Erstellung

Hallo zusammen,

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.

Hier einmal mein Git-Repository: plugin_test/AutoAddProduct at main · JustinKreikebaum/plugin_test · GitHub

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.

Grüße
Justin

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?

Wie kann ich das checken? Wie gesagt, bin beim Thema Shopware-Plugins nicht so auf dem laufenden.

Einfach mal ein error_log o.ä. rein und schauen, ob es eine Ausgabe gibt.

Das mit dem Hinzufügen eines neuen Tabs funktioniert nicht, da der administration Ordner nicht ganz richtig liegt:

src/Resources/app/administration
statt
src/Resources/administration

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.

Hoffe das hilft dir etwas weiter.

Viel Erfolg!

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.

Hier das Repository: plugin_test/AutoAddProduct/SamsungAutoCart at 8e6084b88a63a748e604674e84cd949087e9a776 · JustinKreikebaum/plugin_test · GitHub