ऑनलाइन स्टोर का एक अनिवार्य घटक शॉपिंग कार्ट है। ईकामर्स वेबसाइट बनाने के लिए यह सबसे कठिन घटकों में से एक हो सकता है। ग्राहक चीजें चुन सकते हैं, अपनी पसंद का मूल्यांकन कर सकते हैं, उन्हें संपादित कर सकते हैं, यदि आवश्यक हो तो अधिक आइटम जोड़ सकते हैं और फिर शॉपिंग कार्ट का उपयोग करके आइटम खरीद सकते हैं। चेकआउट के दौरान, प्रोग्राम आम तौर पर एक ऑर्डर कुल तैयार करता है जो डाक खर्च, पैकिंग और हैंडलिंग शुल्क के साथ-साथ करों, यदि लागू हो, को ध्यान में रखता है।
NopCommerce के मामले में, एक शॉपिंग कार्ट, साथ ही एक विशलिस्ट बिल्ट-इन है। यदि व्यवस्थापक क्षेत्र में सक्षम किया गया है, तो प्रत्येक उत्पाद को शॉपिंग कार्ट या विशलिस्ट में रखा जा सकता है। nopCommerce शॉपिंग कार्ट और विशलिस्ट को अक्षम किया जा सकता है, इसे कॉन्फ़िगर करने के लिए एक्सेस कंट्रोल लिस्ट पेज का उपयोग किया जा सकता है। केवल आवश्यक ग्राहक प्रोफाइल के लिए "शॉपिंग कार्ट सक्षम करें" और "इच्छा सूची सक्षम करें" अनुमतियां देखें, और उन्हें अनचेक करें।
शॉपिंग कार्ट की कार्यक्षमता के बारे में अधिक जानने के लिए, साथ ही साथ nopCommerce के अन्य घटक कैसे काम करते हैं, हम अनुशंसा करते हैं
आरंभ करने के लिए, शॉपिंग कार्ट पेज खोलें और देखें। सबसे पहले, इसमें चयनित चेकआउट विशेषताओं, मूल्य, मात्रा (जिसे समायोजित किया जा सकता है), प्रत्येक जोड़े गए आइटम के लिए कुल और एक निकालें बटन के साथ आदेश का सारांश दृश्य होता है।
इसके बाद, ग्राहक अनुमानित शिपिंग जोड़ सकता है, साथ ही चेकआउट विशेषताओं का चयन कर सकता है और छूट कोड और उपहार कार्ड दर्ज कर सकता है। अंत में, एक आदेश की गणना की जाती है और इसे चेकआउट के लिए आगे बढ़ने की पेशकश की जाती है, जहां ग्राहक बिलिंग और शिपिंग जानकारी दर्ज करते हैं और भुगतान करते हैं।
वैसे, शॉपिंग कार्ट से संबंधित सभी क्रिया विधियों को Nop.Web से ShoppingCartController में रखा गया है। ये विधियाँ ग्राहक को सभी पृष्ठ घटकों के साथ सहभागिता करने की अनुमति देती हैं।
आइए nopCommerce शॉपिंग कार्ट कार्यक्षमता के सभी मुख्य घटकों को तोड़ दें। इसमें चेकआउट विशेषताएँ, छूट और उपहार कार्ड बॉक्स, कुल चरण और चेकआउट प्रक्रिया शामिल हैं। डेटाबेस संरचना पर भी विचार करना महत्वपूर्ण है।
चेकआउट एट्रिब्यूट से शुरू होकर, वे शॉपिंग कार्ट पृष्ठ पर प्रदर्शित होते हैं और ऑर्डर देने से पहले ग्राहकों को अधिक सेवाएं प्रदान करने का अवसर प्रदान करते हैं, अर्थात उपहार लपेटना।
Nop.Services.Orders फ़ोल्डर में Checkout विशेषताओं की अपनी स्वयं की सेवा कक्षाएं होती हैं और इन्हें ऑर्डर तालिका के CheckoutAttributesXml कॉलम में XML के रूप में संग्रहीत किया जाता है। उन सभी में लगभग उत्पाद विशेषताओं के समान कार्यक्षमता होती है।
चेकआउट एट्रिब्यूट सर्विस क्लास
चेकआउट एट्रिब्यूट्सएक्सएमएल कॉलम
शॉपिंग कार्ट की अगली विशेषता डिस्काउंट बॉक्स है। यह ग्राहक को कुल ऑर्डर या शिपिंग पर छूट लागू करने के लिए कूपन कोड दर्ज करने की अनुमति देता है। छूट सुविधा का अपना फ़ोल्डर होता है जो Nop.Services अनुभाग में स्थित होता है। छूट कार्यान्वयन प्रक्रिया के किसी भी नियम और तर्क को वहां समायोजित किया जा सकता है।
डेटाबेस की बात करें तो डिस्काउंट खुद डिस्काउंट टेबल में स्टोर होता है। कुछ मैपिंग टेबल भी हैं जो स्टोर करती हैं कि उत्पादों, निर्माताओं और श्रेणियों के लिए छूट कैसे मैप की जाती है। डिस्काउंट आवश्यकता तालिका छूट आवश्यकताओं को संग्रहीत करती है जो यह निर्धारित करती है कि किस मामले में छूट लागू की जानी चाहिए। अंतिम तालिका डिस्काउंटयूसेज इतिहास तालिका है जो ऑर्डर पर लागू छूट के बारे में जानकारी संग्रहीत करती है।
अन्य शॉपिंग कार्ट घटक उपहार कार्ड बॉक्स है। उपहार कार्ड लागू करने के लिए ग्राहक को यहां कोड दर्ज करना चाहिए। उपहार कार्ड एक विशेष प्रकार का उत्पाद है। आप उत्पाद विवरण पृष्ठ पर किसी उत्पाद को उपहार कार्ड के रूप में चिह्नित कर सकते हैं और उपहार कार्ड बेच सकते हैं जिसका उपयोग ग्राहक इस तरह कर सकते हैं। ग्राहकों द्वारा उपहार कार्ड उत्पादों के साथ खरीदारी पूरी करने के बाद, आप यहां सभी खरीदे गए उपहार कार्डों की सूची खोज और देख सकते हैं।
यदि आपको उपहार कार्ड की कार्यक्षमता को कॉन्फ़िगर करने की आवश्यकता है, तो आप गिफ्टकार्ड सेवा वर्ग का उपयोग कर सकते हैं, जो Nop.Service.Orders फ़ोल्डर में स्थित है।
डेटाबेस को ध्यान में रखते हुए, उपहार कार्ड जो मैन्युअल रूप से बनाए जाते हैं या उत्पादों के रूप में खरीदे जाते हैं, गिफ्टकार्ड तालिका में संग्रहीत होते हैं। ऑर्डर में उपहार कार्ड का उपयोग करने के बाद, उपयुक्त रिकॉर्ड डेटाबेस के गिफ्टकार्डयूसेजहिस्ट्री टेबल में डाला जाता है।
ग्राहक शॉपिंग कार्ट पृष्ठ पर छूट और उपहार कार्ड दोनों के लिए आवेदन कर सकता है।
शॉपिंग कार्ट पृष्ठ पर अंतिम दिलचस्प ब्लॉक शॉपिंग कार्ट योग है। उनकी गणना शॉपिंग कार्ट आइटम, लागू छूट और करों, चुने हुए शिपिंग और भुगतान विधियों के आधार पर की जाती है। कुल में कुछ पंक्तियाँ होती हैं:
ऑर्डर योग की गणना Nop.Services.Orders से OrderTotalCalculationService में की जाती है। जैसा कि आप देख सकते हैं, इसमें GetShoppingCartShippingTotal, GetTaxTotal, रिवार्ड पॉइंट्स, छूट और अन्य से संबंधित तरीके शामिल हैं। बदले में, भुगतान विधि अतिरिक्त शुल्क की गणना Nop.Services.Payments की भुगतान सेवा में की जाती है।
संपूर्ण खरीदारी अनुभव के बारे में अधिक स्पष्ट दृष्टिकोण के लिए, चेकआउट प्रक्रिया पर विचार करना महत्वपूर्ण है। चेकआउट तब शुरू होता है जब ग्राहक भुगतान और शिपिंग के लिए आगे बढ़ने के लिए शॉपिंग कार्ट छोड़ता है।
nopCommerce चेकआउट प्रक्रिया डिज़ाइन के दो प्रकार प्रदान करता है। वे एक-पेज चेकआउट हैं, जो डिफ़ॉल्ट रूप से सेट होते हैं, और कई पेजों के साथ चेकआउट होते हैं। एक पृष्ठ का चेकआउट ग्राहक को एक पृष्ठ का उपयोग करके संपूर्ण चेकआउट प्रक्रिया से गुजरने की अनुमति देता है। आप इसे ऑर्डर सेटिंग पेज पर सेट कर सकते हैं। वैसे, यदि आवश्यक हो तो आप उसी चेकआउट अनुभाग में अपने ग्राहकों के लिए चेकआउट को अस्थायी रूप से अक्षम कर सकते हैं।
चेकआउट प्रक्रिया के दौरान एक ग्राहक निम्नलिखित चरणों से गुजरता है:
ऐसी और भी शर्तें हैं जो चेकआउट चरणों की संख्या को प्रभावित करती हैं। उन्हें ऑर्डर सेटिंग्स में समायोजित किया जा सकता है।
चेकआउट प्रक्रिया से संबंधित सभी क्रिया विधियों को चेकआउट नियंत्रक में रखा गया है। जैसा कि आप देख सकते हैं, इस कंट्रोलर के अलग-अलग क्षेत्र हैं: मल्टीस्टेप चेकआउट और वन-पेज चेकआउट के लिए। मल्टीस्टेप चेकआउट विधियाँ दृश्य लौटाती हैं, जबकि एक-पृष्ठ चेकआउट विधियाँ JSON को परिणाम के रूप में लौटाती हैं। चेकआउट प्रक्रिया का प्रबंधन करने वाली कोई अलग सेवा नहीं है। कंट्रोलर में सारा काम होता है।
NopCommerce में, शॉपिंग कार्ट और विशलिस्ट दोनों की संरचना समान होती है। अधिक समझ के लिए, डेटाबेस को देखना बेहतर होगा। ShoppingCartItem तालिका में, शॉपिंग कार्ट और विशलिस्ट आइटम दोनों एक साथ संग्रहीत किए जाते हैं। हालाँकि, वे ShoppingCartTypeId द्वारा प्रतिष्ठित हैं।
इसके अलावा, "डोमेन - ऑर्डर" फ़ोल्डर को देखते हुए, शॉपिंगकार्टटाइप एन्यूमरेशन देखा जा सकता है जो दो प्रकार प्रदान करता है: शॉपिंगकार्ट और विशलिस्ट, उचित संख्यात्मक मानों के साथ। ये वे मान हैं जो डेटाबेस में ShoppingCartTypeId कॉलम में संग्रहीत हैं। शॉपिंग कार्ट और डेटाबेस शर्तों में इच्छा सूची के बीच यही एकमात्र अंतर है।
अन्य क्षेत्र विदेशी कुंजी के रूप में ग्राहक पहचानकर्ता का प्रतिनिधित्व करते हैं। यह उस ग्राहक की आईडी है जिसने इस आइटम को शॉपिंग कार्ट में जोड़ा है। इसके अलावा, ProductId है जो यह पहचानती है कि कार्ट में कौन सा उत्पाद जोड़ा गया है, जिसके बाद StoreId उस उत्पाद के स्टोर का प्रतिनिधित्व करता है। इसके अलावा, ShoppingCartTypeId जिसकी हम पहले ही चर्चा कर चुके हैं, यह निर्धारित करता है कि ग्राहक ने इस आइटम को शॉपिंग कार्ट या विशलिस्ट में जोड़ा है या नहीं।
इसके बाद AttributesXml कॉलम आता है। यह कॉलम ग्राहक द्वारा चुनी गई सभी विशेषताओं के साथ कार्ट में जोड़े गए उत्पाद कॉन्फ़िगरेशन को संग्रहीत करता है। यह एक्सएमएल कैसे काम करता है इसकी प्रक्रिया यहां दी गई है:
चयनित उत्पाद विशेषताओं को संग्रहीत करने का यह तरीका है। ऐसे XML को पार्स करने के लिए, Nop.Services कैटलॉग फ़ोल्डर में स्थित ProductAttributeParser नाम की एक विशेष श्रेणी है। यह वर्ग उत्पाद विशेषता एक्सएमएल में हेरफेर करता है। उदाहरण के लिए, ParseProductAttributes पद्धति का उपयोग करते हुए, जब कोई ग्राहक कार्ट में उत्पाद जोड़ता है, तो यह चुनी हुई विशेषताओं के आधार पर एक XML बनाता है।
जैसा कि आप देख सकते हैं, यह विधि उत्पाद विवरण पृष्ठ से एक फ़ॉर्म स्वीकार करती है। उत्पाद विवरण पृष्ठ (GetUnitPriceAsync विधि) पर विशेषता मान बदले जाने पर उत्पाद मूल्य की पुनर्गणना करने के लिए भी इसका उपयोग किया जाता है। तो, इस वर्ग में, आप उत्पाद विशेषता XML रिकॉर्ड के साथ काम करने वाली विधियाँ पा सकते हैं। यह उत्पाद विशेषता संयोजनों, किराये की तारीखों और उपहार कार्ड विशेषताओं में भी हेरफेर करता है।
एक अन्य महत्वपूर्ण स्तंभ CustomerEnteredPrice है। इसका उपयोग तब किया जाता है जब "ग्राहक मूल्य दर्ज करता है" विकल्प एक निश्चित उत्पाद के लिए उपलब्ध होता है। क्वांटिटी कॉलम काफी स्व-वर्णनात्मक है, क्योंकि यह किसी उत्पाद की चुनी हुई मात्रा को दर्शाता है। उत्पाद प्रकार किराये पर होने पर रेंटलस्टार्टडेट और रेंटलएंडडेट कॉलम का उपयोग किया जाता है। अंत में, क्रिएटऑन और अपडेटेडऑन तिथियां स्व-व्याख्यात्मक हैं।
nopCommerce शॉपिंग कार्ट एक संरचित और लचीला घटक है। इस लेख की जानकारी के आधार पर, आप प्रभावी रूप से एक उन्नत शॉपिंग कार्ट और nopCommerce प्लेटफॉर्म का उपयोग करके एक विशलिस्ट के साथ एक वेबसाइट बना और कॉन्फ़िगर कर सकते हैं।
स्क्रैच से सब कुछ बनाने की कोई आवश्यकता नहीं है, इसलिए यह आपको केवल अपने ईकामर्स व्यवसाय की विशिष्ट आवश्यकताओं पर ध्यान केंद्रित करने की अनुमति देता है। इसका एक कारण यह है कि nopCommerce शॉपिंग कार्ट में सबसे अधिक उपयोग की जाने वाली सुविधाएँ हैं, जैसे शिपिंग अनुमान, चेकआउट विशेषताएँ और एक उपहार कार्ड और छूट कार्यान्वयन।
अंत में, डेटाबेस संरचना आपको यह अपडेट करने में सक्षम बनाती है कि किस प्रकार के शॉपिंग कार्ट डेटा को संग्रहीत और प्रबंधित करने की आवश्यकता है। आप इन विवरणों को हमारे दस्तावेज़ीकरण में भी पा सकते हैं