OpenCart är en open-source, PHP-baserad online e-handelslösning som låter dig acceptera beställningar online. Det gör att kunderna kan handla med kuponger, men bara en i taget som standard. Om du vill tillåta att dina kunder använder flera kuponger samtidigt måste du ändra koden. Jag ska visa dig exakt hur man gör det i den här handledningen.
Endast administratörer och tillåtna slutanvändare kan generera presentkort. OpenCart levereras med en standardmodul för att göra det. Följande skärmdump visar platsen där en slutanvändare kan generera kuponger.
Om vi har som standard ett kupongsystem som implementeras i OpenCart, vad är problemet? Låt oss förstå det med hjälp av ett exempel:
Nyligen ville en vän av mig köpa ett par artiklar via OpenCart som kostar $ 800, men hon hade bara $ 500 och två presentkort vardera $ 250. Så ringde hon mig och bad om en lösning. Eftersom OpenCart bara tillåter dig att använda en enda kupong för att handla på en gång kunde hon inte köpa objekten.
För att lösa detta problem måste vi lägga till ett alternativ för att använda flera kuponger så att kunderna enkelt kan handla utan att det är svårt att möta dem. Här är lösningen, där vi kommer att modifiera några rader kod och det hjälper till att lösa detta problem.
Denna handledning är indelad i tre huvudsteg, som är:
katalog / styrenheten / kassan / cart.php
.Om isset ($ this-> request-> post ['voucher']) && $ this-> giltigt kupong ()) $ this-> session-> data ['voucher'] = $ this-> request-> inlägget [ 'kupong'];
Ändra ovanstående kod till:
Om isset ($ this-> request-> post ['voucher']) && $ this-> giltigt kupong ()) $ this-> session-> data ['kupong'] [$ this-> request-> inlägget [ 'kupong']] = $ this-> begäran-> inlägg [ 'kupong']; // skapar en matris för flera kuponger
katalog / modell / totalt / voucher.php
.$ This-> last> modell ( 'kassan / voucher'); $ voucher_info = $ this-> model_checkout_voucher-> getVoucher ($ this-> session-> data ['voucher']); om ($ voucher_info) om ($ voucher_info ['amount']> $ totalt) $ amount = $ total; else $ amount = $ voucher_info ['amount']; $ total_data [] = array ('code' => 'värdekupong', 'title' => sprintf ($ this-> language-> get ('text_voucher'), $ this-> session-> data ['kupong' ] "," text "=> $ this-> currency-> format (- $ belopp), 'value' => - $ belopp, 'sort_order' => $ this-> config-> get ('voucher_sort_order')) ; $ totalt - = $ belopp;
Vi måste springa en yttre slinga för att hämta alla våra kuponger som vi behöll som matris i steg 1. Så lägger vi en yttre slinga efter $ This-> last> modell ( 'kassan / voucher');
.
Så vi kommer att slinga i vår Session Vouchers Array för att hämta alla kuponger vi tillämpade, och koden kommer att vara som visas nedan. Observera att följande kod kommenteras för att göra det lättare att förstå.
foreach (array_unique ($ this-> session-> data ['värdekupong']) som $ värdekupong) // foreach loop väljer varje array och extraherar den unika kupongen $ voucher_info = $ this-> model_checkout_voucher-> getVoucher ); // Hämta orderuppgifterna // Kontrollera 1: Om kupong existerar om ($ voucher_info) // Kontrollera 2: Om kupongbeloppet är större än vårt orderbelopp, kommer kupongbalansen att bibehållas om ($ voucher_info ['amount'] > $ totalt) $ amount = $ total; else $ amount = $ voucher_info ['amount']; // Slutkontroll 2 // Array att returnera Uppdaterade Totals $ total_data [] = array ('code' => 'värdekupong', 'title' => sprintf ($ this-> language-> get ('text_voucher') $ voucher), 'text' => $ this-> currency-> format (- $ belopp), 'value' => - $ belopp, 'sort_order' => $ this-> config-> get ('voucher_sort_order') ); // End Array $ total - = $ summa; // Substracts mängden med våra order totals // End Check 1 // End Foreach Loop
Katalog / view / tema / default / mall / kassan / voucher.tpl
.Byt ut det med följande:
Vi är klara med vårt problem! Faktum är att vi bara gjort några enkla kodhackar för att lösa det stora problemet, så vi behövde inte utveckla en ny modul eller förlängning. Vi har just ändrat några koder för att få det gjort.
I den här artikeln gav vi en lyckad lösning för att lägga till flera kuponger i vår e-butik. Eftersom OpenCart inte tillåter att kunden använder flera kuponger som standard, ändrade vi koden så att de nu kan använda så många kuponger som de vill. Det hjälper kunderna att handla enkelt utan problem.
I våra nästa artiklar kommer vi att implementera några verkliga affärsverktyg i vårt OpenCart-system, så fortsätt prenumerera och bidra med dina värdefulla kommentarer. Tack!