paint-brush
NopCommerce के साथ ASP.NET पर आधारित एक शॉपिंग कार्ट का विकास और अनुकूलनद्वारा@nopcommerce
642 रीडिंग
642 रीडिंग

NopCommerce के साथ ASP.NET पर आधारित एक शॉपिंग कार्ट का विकास और अनुकूलन

द्वारा nopCommerce7m2023/03/21
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

ईकामर्स स्टोर बनाने में एक चुनौतीपूर्ण कार्य एक शॉपिंग कार्ट है। जानें कि कैसे प्रभावी ढंग से nopCommerce के साथ ASP.NET शॉपिंग कार्ट को अनुकूलित करना है।
featured image - NopCommerce के साथ ASP.NET पर आधारित एक शॉपिंग कार्ट का विकास और अनुकूलन
nopCommerce HackerNoon profile picture
0-item


ऑनलाइन स्टोर का एक अनिवार्य घटक शॉपिंग कार्ट है। ईकामर्स वेबसाइट बनाने के लिए यह सबसे कठिन घटकों में से एक हो सकता है। ग्राहक चीजें चुन सकते हैं, अपनी पसंद का मूल्यांकन कर सकते हैं, उन्हें संपादित कर सकते हैं, यदि आवश्यक हो तो अधिक आइटम जोड़ सकते हैं और फिर शॉपिंग कार्ट का उपयोग करके आइटम खरीद सकते हैं। चेकआउट के दौरान, प्रोग्राम आम तौर पर एक ऑर्डर कुल तैयार करता है जो डाक खर्च, पैकिंग और हैंडलिंग शुल्क के साथ-साथ करों, यदि लागू हो, को ध्यान में रखता है।


NopCommerce के मामले में, एक शॉपिंग कार्ट, साथ ही एक विशलिस्ट बिल्ट-इन है। यदि व्यवस्थापक क्षेत्र में सक्षम किया गया है, तो प्रत्येक उत्पाद को शॉपिंग कार्ट या विशलिस्ट में रखा जा सकता है। nopCommerce शॉपिंग कार्ट और विशलिस्ट को अक्षम किया जा सकता है, इसे कॉन्फ़िगर करने के लिए एक्सेस कंट्रोल लिस्ट पेज का उपयोग किया जा सकता है। केवल आवश्यक ग्राहक प्रोफाइल के लिए "शॉपिंग कार्ट सक्षम करें" और "इच्छा सूची सक्षम करें" अनुमतियां देखें, और उन्हें अनचेक करें।


शॉपिंग कार्ट कॉन्फ़िगरेशन


शॉपिंग कार्ट की कार्यक्षमता के बारे में अधिक जानने के लिए, साथ ही साथ nopCommerce के अन्य घटक कैसे काम करते हैं, हम अनुशंसा करते हैं nopCommerce प्रशिक्षण पाठ्यक्रम , जिसकी रचना कोर डेवलपर्स टीम द्वारा की गई है।

.NET ईकामर्स प्लेटफॉर्म की शॉपिंग कार्ट संरचना

आरंभ करने के लिए, शॉपिंग कार्ट पेज खोलें और देखें। सबसे पहले, इसमें चयनित चेकआउट विशेषताओं, मूल्य, मात्रा (जिसे समायोजित किया जा सकता है), प्रत्येक जोड़े गए आइटम के लिए कुल और एक निकालें बटन के साथ आदेश का सारांश दृश्य होता है।


इसके बाद, ग्राहक अनुमानित शिपिंग जोड़ सकता है, साथ ही चेकआउट विशेषताओं का चयन कर सकता है और छूट कोड और उपहार कार्ड दर्ज कर सकता है। अंत में, एक आदेश की गणना की जाती है और इसे चेकआउट के लिए आगे बढ़ने की पेशकश की जाती है, जहां ग्राहक बिलिंग और शिपिंग जानकारी दर्ज करते हैं और भुगतान करते हैं।


nopCommerce शॉपिंग कार्ट


वैसे, शॉपिंग कार्ट से संबंधित सभी क्रिया विधियों को Nop.Web से ShoppingCartController में रखा गया है। ये विधियाँ ग्राहक को सभी पृष्ठ घटकों के साथ सहभागिता करने की अनुमति देती हैं।


शॉपिंगकार्ट नियंत्रक


आइए nopCommerce शॉपिंग कार्ट कार्यक्षमता के सभी मुख्य घटकों को तोड़ दें। इसमें चेकआउट विशेषताएँ, छूट और उपहार कार्ड बॉक्स, कुल चरण और चेकआउट प्रक्रिया शामिल हैं। डेटाबेस संरचना पर भी विचार करना महत्वपूर्ण है।

चेकआउट विशेषताएँ

चेकआउट एट्रिब्यूट से शुरू होकर, वे शॉपिंग कार्ट पृष्ठ पर प्रदर्शित होते हैं और ऑर्डर देने से पहले ग्राहकों को अधिक सेवाएं प्रदान करने का अवसर प्रदान करते हैं, अर्थात उपहार लपेटना।


Nop.Services.Orders फ़ोल्डर में Checkout विशेषताओं की अपनी स्वयं की सेवा कक्षाएं होती हैं और इन्हें ऑर्डर तालिका के CheckoutAttributesXml कॉलम में XML के रूप में संग्रहीत किया जाता है। उन सभी में लगभग उत्पाद विशेषताओं के समान कार्यक्षमता होती है।


चेकआउट एट्रिब्यूट सर्विस क्लास


चेकआउट एट्रिब्यूट सर्विस क्लास


चेकआउट एट्रिब्यूट्सएक्सएमएल कॉलम


चेकआउट एट्रिब्यूट्सएक्सएमएल कॉलम

डिस्काउंट बॉक्स

शॉपिंग कार्ट की अगली विशेषता डिस्काउंट बॉक्स है। यह ग्राहक को कुल ऑर्डर या शिपिंग पर छूट लागू करने के लिए कूपन कोड दर्ज करने की अनुमति देता है। छूट सुविधा का अपना फ़ोल्डर होता है जो Nop.Services अनुभाग में स्थित होता है। छूट कार्यान्वयन प्रक्रिया के किसी भी नियम और तर्क को वहां समायोजित किया जा सकता है।


डेटाबेस की बात करें तो डिस्काउंट खुद डिस्काउंट टेबल में स्टोर होता है। कुछ मैपिंग टेबल भी हैं जो स्टोर करती हैं कि उत्पादों, निर्माताओं और श्रेणियों के लिए छूट कैसे मैप की जाती है। डिस्काउंट आवश्यकता तालिका छूट आवश्यकताओं को संग्रहीत करती है जो यह निर्धारित करती है कि किस मामले में छूट लागू की जानी चाहिए। अंतिम तालिका डिस्काउंटयूसेज इतिहास तालिका है जो ऑर्डर पर लागू छूट के बारे में जानकारी संग्रहीत करती है।


छूट तालिका

उपहार कार्ड बॉक्स

अन्य शॉपिंग कार्ट घटक उपहार कार्ड बॉक्स है। उपहार कार्ड लागू करने के लिए ग्राहक को यहां कोड दर्ज करना चाहिए। उपहार कार्ड एक विशेष प्रकार का उत्पाद है। आप उत्पाद विवरण पृष्ठ पर किसी उत्पाद को उपहार कार्ड के रूप में चिह्नित कर सकते हैं और उपहार कार्ड बेच सकते हैं जिसका उपयोग ग्राहक इस तरह कर सकते हैं। ग्राहकों द्वारा उपहार कार्ड उत्पादों के साथ खरीदारी पूरी करने के बाद, आप यहां सभी खरीदे गए उपहार कार्डों की सूची खोज और देख सकते हैं।


यदि आपको उपहार कार्ड की कार्यक्षमता को कॉन्फ़िगर करने की आवश्यकता है, तो आप गिफ्टकार्ड सेवा वर्ग का उपयोग कर सकते हैं, जो Nop.Service.Orders फ़ोल्डर में स्थित है।


गिफ्टकार्ड सर्विस क्लास


डेटाबेस को ध्यान में रखते हुए, उपहार कार्ड जो मैन्युअल रूप से बनाए जाते हैं या उत्पादों के रूप में खरीदे जाते हैं, गिफ्टकार्ड तालिका में संग्रहीत होते हैं। ऑर्डर में उपहार कार्ड का उपयोग करने के बाद, उपयुक्त रिकॉर्ड डेटाबेस के गिफ्टकार्डयूसेजहिस्ट्री टेबल में डाला जाता है।


गिफ्ट कार्ड टेबल


ग्राहक शॉपिंग कार्ट पृष्ठ पर छूट और उपहार कार्ड दोनों के लिए आवेदन कर सकता है।

योग

शॉपिंग कार्ट पृष्ठ पर अंतिम दिलचस्प ब्लॉक शॉपिंग कार्ट योग है। उनकी गणना शॉपिंग कार्ट आइटम, लागू छूट और करों, चुने हुए शिपिंग और भुगतान विधियों के आधार पर की जाती है। कुल में कुछ पंक्तियाँ होती हैं:


  1. उप-कुल। उप-योग शॉपिंग कार्ट में सभी वस्तुओं और मात्राओं का योग है, जिसमें लागू किए गए आइटम प्रचार शामिल हैं;
  2. शिपिंग ग्राहक के शिपिंग पते के आधार पर गणना की गई शिपिंग लागत है;
  3. फिर, लागू कर प्रदर्शित किए जाते हैं। nopCommerce कर प्लगइन्स प्रदान करता है जो उत्पादों पर मैन्युअल रूप से या स्वचालित रूप से कर लागू करने की अनुमति देता है;
  4. भुगतान विधि अतिरिक्त शुल्क पंक्ति स्व-वर्णनात्मक है। इसे भुगतान विधि विन्यास पृष्ठ पर स्थापित किया जा सकता है;
  5. फिर, यह लागू छूट और उपहार कार्ड प्रदर्शित करता है;
  6. लागू होने पर इनाम अंक;
  7. और अंत में कुल आदेश आता है।


योग


ऑर्डर योग की गणना Nop.Services.Orders से OrderTotalCalculationService में की जाती है। जैसा कि आप देख सकते हैं, इसमें GetShoppingCartShippingTotal, GetTaxTotal, रिवार्ड पॉइंट्स, छूट और अन्य से संबंधित तरीके शामिल हैं। बदले में, भुगतान विधि अतिरिक्त शुल्क की गणना Nop.Services.Payments की भुगतान सेवा में की जाती है।


ऑर्डर टोटल कैलकुलेशन सर्विस क्लास

चेकआउट प्रक्रिया

संपूर्ण खरीदारी अनुभव के बारे में अधिक स्पष्ट दृष्टिकोण के लिए, चेकआउट प्रक्रिया पर विचार करना महत्वपूर्ण है। चेकआउट तब शुरू होता है जब ग्राहक भुगतान और शिपिंग के लिए आगे बढ़ने के लिए शॉपिंग कार्ट छोड़ता है।


nopCommerce चेकआउट प्रक्रिया डिज़ाइन के दो प्रकार प्रदान करता है। वे एक-पेज चेकआउट हैं, जो डिफ़ॉल्ट रूप से सेट होते हैं, और कई पेजों के साथ चेकआउट होते हैं। एक पृष्ठ का चेकआउट ग्राहक को एक पृष्ठ का उपयोग करके संपूर्ण चेकआउट प्रक्रिया से गुजरने की अनुमति देता है। आप इसे ऑर्डर सेटिंग पेज पर सेट कर सकते हैं। वैसे, यदि आवश्यक हो तो आप उसी चेकआउट अनुभाग में अपने ग्राहकों के लिए चेकआउट को अस्थायी रूप से अक्षम कर सकते हैं।


चेकआउट प्रक्रिया के दौरान एक ग्राहक निम्नलिखित चरणों से गुजरता है:


  1. ग्राहक को बिलिंग पता दर्ज करने की आवश्यकता होती है;
  2. फिर शिपिंग पता;
  3. फिर, उन्हें शिपिंग विधि चुनने की आवश्यकता है;
  4. और एक भुगतान विधि;
  5. फिर, हम ग्राहक को आवश्यक भुगतान जानकारी दिखाते हैं;
  6. और अंत में, यह पुष्टिकरण चरण है जहां ग्राहक आदेश की पुष्टि करता है।


ऐसी और भी शर्तें हैं जो चेकआउट चरणों की संख्या को प्रभावित करती हैं। उन्हें ऑर्डर सेटिंग्स में समायोजित किया जा सकता है।


चेकआउट प्रक्रिया से संबंधित सभी क्रिया विधियों को चेकआउट नियंत्रक में रखा गया है। जैसा कि आप देख सकते हैं, इस कंट्रोलर के अलग-अलग क्षेत्र हैं: मल्टीस्टेप चेकआउट और वन-पेज चेकआउट के लिए। मल्टीस्टेप चेकआउट विधियाँ दृश्य लौटाती हैं, जबकि एक-पृष्ठ चेकआउट विधियाँ JSON को परिणाम के रूप में लौटाती हैं। चेकआउट प्रक्रिया का प्रबंधन करने वाली कोई अलग सेवा नहीं है। कंट्रोलर में सारा काम होता है।


चेकआउट नियंत्रक

ASP.NET शॉपिंग कार्ट का डेटाबेस संचालन

NopCommerce में, शॉपिंग कार्ट और विशलिस्ट दोनों की संरचना समान होती है। अधिक समझ के लिए, डेटाबेस को देखना बेहतर होगा। ShoppingCartItem तालिका में, शॉपिंग कार्ट और विशलिस्ट आइटम दोनों एक साथ संग्रहीत किए जाते हैं। हालाँकि, वे ShoppingCartTypeId द्वारा प्रतिष्ठित हैं।


शॉपिंगकार्टआइटम तालिका


इसके अलावा, "डोमेन - ऑर्डर" फ़ोल्डर को देखते हुए, शॉपिंगकार्टटाइप एन्यूमरेशन देखा जा सकता है जो दो प्रकार प्रदान करता है: शॉपिंगकार्ट और विशलिस्ट, उचित संख्यात्मक मानों के साथ। ये वे मान हैं जो डेटाबेस में ShoppingCartTypeId कॉलम में संग्रहीत हैं। शॉपिंग कार्ट और डेटाबेस शर्तों में इच्छा सूची के बीच यही एकमात्र अंतर है।


अन्य क्षेत्र विदेशी कुंजी के रूप में ग्राहक पहचानकर्ता का प्रतिनिधित्व करते हैं। यह उस ग्राहक की आईडी है जिसने इस आइटम को शॉपिंग कार्ट में जोड़ा है। इसके अलावा, ProductId है जो यह पहचानती है कि कार्ट में कौन सा उत्पाद जोड़ा गया है, जिसके बाद StoreId उस उत्पाद के स्टोर का प्रतिनिधित्व करता है। इसके अलावा, ShoppingCartTypeId जिसकी हम पहले ही चर्चा कर चुके हैं, यह निर्धारित करता है कि ग्राहक ने इस आइटम को शॉपिंग कार्ट या विशलिस्ट में जोड़ा है या नहीं।


इसके बाद AttributesXml कॉलम आता है। यह कॉलम ग्राहक द्वारा चुनी गई सभी विशेषताओं के साथ कार्ट में जोड़े गए उत्पाद कॉन्फ़िगरेशन को संग्रहीत करता है। यह एक्सएमएल कैसे काम करता है इसकी प्रक्रिया यहां दी गई है:


  1. कोई भी उत्पाद पृष्ठ खोलें और इस उत्पाद की दो विशेषताएँ चुनें;
  2. कार्ट में उत्पाद जोड़ें;
  3. ShoppingCartItem की शीर्ष 1000 पंक्तियों का चयन करें;
  4. एट्रिब्यूट्सएक्सएमएल के तहत एक सेल पर क्लिक करें;
  5. आप पहली विशेषता देखेंगे जो आईडी 9 और 21 के मान के साथ-साथ आईडी 10 के साथ दूसरी और 25 के मान के साथ है।


चयनित उत्पाद विशेषताओं को संग्रहीत करने का यह तरीका है। ऐसे XML को पार्स करने के लिए, Nop.Services कैटलॉग फ़ोल्डर में स्थित ProductAttributeParser नाम की एक विशेष श्रेणी है। यह वर्ग उत्पाद विशेषता एक्सएमएल में हेरफेर करता है। उदाहरण के लिए, ParseProductAttributes पद्धति का उपयोग करते हुए, जब कोई ग्राहक कार्ट में उत्पाद जोड़ता है, तो यह चुनी हुई विशेषताओं के आधार पर एक XML बनाता है।


उत्पाद विशेषता पार्सर वर्ग


जैसा कि आप देख सकते हैं, यह विधि उत्पाद विवरण पृष्ठ से एक फ़ॉर्म स्वीकार करती है। उत्पाद विवरण पृष्ठ (GetUnitPriceAsync विधि) पर विशेषता मान बदले जाने पर उत्पाद मूल्य की पुनर्गणना करने के लिए भी इसका उपयोग किया जाता है। तो, इस वर्ग में, आप उत्पाद विशेषता XML रिकॉर्ड के साथ काम करने वाली विधियाँ पा सकते हैं। यह उत्पाद विशेषता संयोजनों, किराये की तारीखों और उपहार कार्ड विशेषताओं में भी हेरफेर करता है।


एक अन्य महत्वपूर्ण स्तंभ CustomerEnteredPrice है। इसका उपयोग तब किया जाता है जब "ग्राहक मूल्य दर्ज करता है" विकल्प एक निश्चित उत्पाद के लिए उपलब्ध होता है। क्वांटिटी कॉलम काफी स्व-वर्णनात्मक है, क्योंकि यह किसी उत्पाद की चुनी हुई मात्रा को दर्शाता है। उत्पाद प्रकार किराये पर होने पर रेंटलस्टार्टडेट और रेंटलएंडडेट कॉलम का उपयोग किया जाता है। अंत में, क्रिएटऑन और अपडेटेडऑन तिथियां स्व-व्याख्यात्मक हैं।

निष्कर्ष

nopCommerce शॉपिंग कार्ट एक संरचित और लचीला घटक है। इस लेख की जानकारी के आधार पर, आप प्रभावी रूप से एक उन्नत शॉपिंग कार्ट और nopCommerce प्लेटफॉर्म का उपयोग करके एक विशलिस्ट के साथ एक वेबसाइट बना और कॉन्फ़िगर कर सकते हैं।


स्क्रैच से सब कुछ बनाने की कोई आवश्यकता नहीं है, इसलिए यह आपको केवल अपने ईकामर्स व्यवसाय की विशिष्ट आवश्यकताओं पर ध्यान केंद्रित करने की अनुमति देता है। इसका एक कारण यह है कि nopCommerce शॉपिंग कार्ट में सबसे अधिक उपयोग की जाने वाली सुविधाएँ हैं, जैसे शिपिंग अनुमान, चेकआउट विशेषताएँ और एक उपहार कार्ड और छूट कार्यान्वयन।


अंत में, डेटाबेस संरचना आपको यह अपडेट करने में सक्षम बनाती है कि किस प्रकार के शॉपिंग कार्ट डेटा को संग्रहीत और प्रबंधित करने की आवश्यकता है। आप इन विवरणों को हमारे दस्तावेज़ीकरण में भी पा सकते हैं डिफ़ॉल्ट डेटाबेस स्कीमा अनुभाग।