ich bräuchte wieder mal Hilfe von den Shopware Experten.
Ich möchte die Funktion manipulieren, die beim Hinzufügen eines Artikels in den Warenkorb, der schon dort liegt, keinen eigenen Eintrag macht, sondern den bestehenden Artikel “aufstockt”.
Das ist checkIfArticleIsInBasket in sBasket. Dort wird ein Query Builder aufgesetzt, den ich über den gesetzten Controller Shopware_Modules_Basket_AddArticle_CheckBasketForArticle manipulieren kann.
Ich möchte nun eine weitere Bedingung zu diesem Query Builder hinzufügen: Nur wenn das attribute1 des s_order_basket Eintrags (in s_order_basket_attributes) einen gewissen Wert hat, soll der Basket Eintrag zurückgegeben werden, ansonsten eben nicht. Ich habe jetzt schon einiges versucht (u.A. das from zu erweitern oder mit leftJoin) aber habe es nicht geschafft, die s_order_basket und s_order_basket_attributes vernünftig zu verknüpfen, indem ich den Query Builder nur erweitere.
Hat hier jemand einen Tipp für mich? Der Query Builder macht mir im allgemeinen noch Schwierigkeiten.
Von der Idee her, gibt das Ding entweder die ID und Quantity eines bereits im WK befindlichen Artikels zurück, mit dem der aktuelle Artikel zusammengeführt werden kann - oder eben nicht, dann handelt es sich um ein zusätzliches Line Item. Für weitere Hilfe wäre es da einfach hilfreich, wenn du kurz den aktuellen Code zeigst und beschreibst, was das Problem damit ist.
hätte ich mir vorgestellt. Ich möchte also, die Bedingung “dar Eintrag muss als Attribut1 XYZ haben” zum Query hinzfügen, nur dann sollen ID und Quantity des Warenkorbeintrags zurückkommen, ansonsten halt nichts.
Das funktioniert so aber leider nicht, was mache ich falsch?
$fromAlias The alias that points to a from clause.
$join The table name to join.
$alias The alias of the join table.
$condition The condition for the join.