Ich habe 2 Tage lang daran gearbeitet, mehrere Gutscheine auf den Warenkorb zu legen. Ich weiß, dass dafür Module verfügbar sind. Aber ich will es nicht benutzen. Ich möchte einen benutzerdefinierten Code, damit ich mehr als einen Gutscheincode in einer einzigen Bestellung anwenden kann.
Bitte helfen Sie. Ich bin sehr müde, nachdem ich an den gleichen Sachen gearbeitet habe.
ce-1.9.0.1
coupon-codes
Zaheerabbas
quelle
quelle
Antworten:
Fügen Sie in Ihrem benutzerdefinierten Modul Folgendes hinzu
config.xml
:Das erste ist ein Umschreiben von
Mage_SalesRule_Model_Quote_Discount
toNamespace_Module_Rewrite_SalesRule_Model_Quote_Discount
Der zweite ist der überlastete Controller
Mage_Checkout_CartController
Fügen Sie als Nächstes die folgende Datei hinzu
app/code/community/Namespace/Module/controllers/Checkout/CartController.php
und fügen Sie den folgenden Code ein:Sie werden feststellen, dass ich einen Abschnitt hinzugefügt habe, um Gutscheincodes zu kombinieren, die durch "," getrennt sind. Dies kann natürlich verfeinert werden und Sie möchten möglicherweise zusätzliche Überprüfungen usw. hinzufügen, aber dieser Code sollte sofort funktionieren.
Und schließlich müssen wir das Stück hinzufügen, das die ganze Magie bewirkt. Fügen Sie die Datei hinzu
app/code/community/Namespace/Module/Rewrite/SalesRule/Model/Quote/Discount.php
und fügen Sie den Inhalt hinzu:
Im Grunde genommen bricht dies den Coupon-Stich auf, durchläuft jeden Gutscheincode, berechnet und aktualisiert die Angebotssummen.
Zum Testen habe ich 2 Warenkorbregeln eingerichtet:
Kein Gutschein:
Gutschein Test 1 hinzugefügt:
Coupon Test 2 hinzugefügt
Ich habe mit festem Mengenrabatt getestet und dies funktioniert auch wie erwartet.
Und wie gesagt, Sie müssen möglicherweise zusätzliche Überprüfungen hinzufügen, möglicherweise auf Duplikate, aber hier würden Sie beginnen. Für das Frontend können Sie eine Logik hinzufügen, die die Codes nach Belieben aufteilt oder unverändert lässt.
quelle