Das Plugin Custom Products V2 wäre interessant für uns, allerdings bräuchten wir mengenabhängige Staffelpreise für die Optionen und
nicht nur einen einzelnen Preis. Allerdings sieht der Source-Code so aus, als wäre er nicht sonderlich für Erweiterungen programmiert worden,
zumindest werden praktisch keine Events generiert, die man für Erweiterungen benutzen könnte.
Oder täusche ich mich da. Welche Möglichkeiten gibt es sonst das Plugin dahingehend abzuändern, daß es mit Preisstaffeln arbeitet?
Für CustomProducts haben wir sogar ein paar Beispiele in der Doku, wie man das erweitern kann: Extend an existing plugin via another plugin
Stimmt, hatte ich gar nicht gesehen, vielen Dank.
Allerdings bin ich gerade etwas erstaunt darüber, wie die Klasse
SwagCustomProducts\Subscriber\Basket
programmiert ist. Die subscribed sich auf das
Shopware\_Modules\_Basket\_AddArticle\_Start Event und gibt true zurück, überschreibt damit die Methode
sAddArticle der Klasse sBasket komplett. Finde ich eine sehr unglückliche Implementierung, kann ja sein, daß das nicht anders zu machen war, aber alle Events die normalerweise später in sAddArticle ausgelöst werden, sind damit hinfällig und alle Plugins, die sich darauf subscribed haben, werden nicht mehr aufgerufen. Abgesehen natürlich auch von der Code-Duplizierung bzgl. dem insert in s\_order\_basket und s\_order\_basket\_attributes.
Würde mich interessieren, wie das die Shopware-Core-Entwickler so sehen?
Normalerweise sollte man bei Plugins ja vermeiden Methoden von Core-Klassen zu überschreiben oder sehe ich das falsch?
Weiß ja nicht, wie das die anderen Entwickler sehen, aber wenn man dieses Plugin benutzt, kann man sich z.B. nicht mehr auf das folgende Event
Shopware\_Modules\_Basket\_AddArticle\_Added
registrieren, noch macht es Sinn, den folgenden Hook zu benutzen:
'sBasket::sAddArticle::after'
da das Plugin hier false zurückgibt, normalerweise würde man die insert_id der s_order_basket zurückbekommen.
Wenn da ein Problem besteht, solltest du ein Ticket aufmachen, damit es geändert wird: issues.shopware.com