Pracuję od 2 dni nad zastosowaniem wielu kuponów do koszyka. Wiem, że są do tego dostępne moduły. Ale nie chcę tego używać. Chcę trochę niestandardowego kodu, aby móc zastosować więcej niż 1 kod kuponu w jednym zamówieniu.
Proszę pomóż. jestem bardzo zmęczony po pracy nad tymi samymi rzeczami.
ce-1.9.0.1
coupon-codes
Zaheerabbas
źródło
źródło
Odpowiedzi:
W module niestandardowym dodaj następujące elementy do
config.xml
:Pierwszy to przepisanie
Mage_SalesRule_Model_Quote_Discount
naNamespace_Module_Rewrite_SalesRule_Model_Quote_Discount
Drugi to przeciążony kontroler
Mage_Checkout_CartController
Następnie dodaj następujący plik
app/code/community/Namespace/Module/controllers/Checkout/CartController.php
i wstaw następujący kod:Zauważysz, że dodałem sekcję, aby połączyć kody kuponów ograniczone przez „,”. To oczywiście może być bardziej dopracowane i możesz chcieć dodać dodatkowe sprawdzanie itp., Ale ten kod powinien działać od razu.
I na koniec musimy dodać kawałek, który robi całą magię. Dodaj plik
app/code/community/Namespace/Module/Rewrite/SalesRule/Model/Quote/Discount.php
i dodaj treść:
Zasadniczo polega to na przełamaniu kuponu, przejściu przez każdy kod kuponu, obliczeniu i aktualizacji sumy wyceny.
Aby przetestować, skonfigurowałem 2 reguły koszyka:
Brak kuponu:
Dodano test kuponu 1:
Dodano test kuponu 2
Testowałem ze stałą kwotą rabatu i działa to również zgodnie z oczekiwaniami.
I tak jak powiedziałem, może być konieczne dodanie dodatkowego sprawdzania, być może duplikatów, ale od tego możesz zacząć. W przypadku interfejsu możesz dodać logikę dzielącą kody w dowolny sposób lub pozostawić bez zmian.
źródło