मुझे स्टोर लोकेटर के लिए अतिरिक्त चरण शामिल करने के लिए Magento शॉपिंग कार्ट का विस्तार करने की आवश्यकता है। मैं समझता हूं कि मुझे कोर वनपेज नियंत्रक (Mage_Checkout_OnepageController
) और ब्लॉक (Mage_Checkout_Block_Onepage
) को ओवरराइट करने की आवश्यकता है, लेकिन अतिरिक्त जानकारी का ट्रैक रखने के संबंध में क्या करने की आवश्यकता है (उदा। मेरे कस्टम चरण से उपयोगकर्ता के चुने गए विकल्प)।विस्तारित Magento शॉपिंग कार्ट
उत्तर
पूरे समाधान प्राप्त करने के लिए यहां कई कदम आवश्यक हैं।
सबसे पहले, एक नया मॉड्यूल बनाएं। यदि आप चाहें तो ModuleCreator का उपयोग करें।
फिर, Magento की विशेषता संरचना में नए फ़ील्ड जोड़ने के लिए अपने मॉड्यूल में setup script लिखें, उदा। :
$setup = new Mage_Sales_Model_Mysql4_Setup('core_setup');
$setup->startSetup();
$setup->addAttribute('quote', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
$setup->addAttribute('order', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
$setup->addAttribute('invoice', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
$setup->addAttribute('creditmemo', 'my_attribute', array('type' => 'varchar', 'visible' => false, 'required' => false));
नोट Mage_Sales_Model_Mysql4_Setup
के उपयोग प्रासंगिक sales_flat_quote
और sales_flat_order
तालिकाओं के लिए फ़ील्ड्स जोड़ने के लिए।
अब, अपने मॉड्यूल के config.xml फ़ाइल में निम्न मान सम्मिलित करें:
<global>
<fieldsets>
<sales_convert_quote>
<my_attribute>
<to_order>*</to_order>
</my_attribute>
</sales_convert_quote>
<sales_convert_order>
<my_attribute>
<to_cm>*</to_cm>
<to_invoice>*</to_invoice>
</my_attribute>
</sales_convert_order>
</fieldsets>
कि Magento हिदायत बोली से अपने कस्टम फ़ील्ड के मूल्यों की प्रतिलिपि करने के होगा चालान और credit_memo को ऑर्डर करने के लिए, आदि
फिर अपने कस्टम ब्लॉक/नियंत्रक कोड में, आप मूल्यों को बनाए रखने के लिए Magento के जादू गेटर्स और सेटर्स का उपयोग करने में सक्षम होंगे।
$oQuote = Mage::getSingleton('checkout/session')->getQuote();
$oQuote->setMyAttribute('some_value');
$oQuote->save();
आप sales_flat_quote
में बचाया नया स्तंभ और मूल्य देखना चाहिए। फिर ग्राहक एक बार चेकआउट पूरा करने के बाद, उसी मान को sales_flat_order
में सहेजा जाना चाहिए।
ध्यान दें कि उपरोक्त कोड सिर्फ quote
बदलते quote_item
आदि करने के लिए, हालांकि, अगर आप मूल्यों है कि अपने उत्पादों पर स्थापित किए गए हैं विशेषता सहेजना चाहते हैं द्वारा quote_item
और order_item
के लिए काम करने के लिए बढ़ाया जा सकता है, तो कुछ अतिरिक्त काम की आवश्यकता है।
(वैश्विक नोड के अंदर फिर से) अपने config.xml में एक्सएमएल का एक नया ब्लॉक सम्मिलित करें:
<sales>
<quote>
<item>
<product_attributes>
<my_attribute />
</product_attributes>
</item>
</quote>
</sales>
कहाँ my_attribute
उत्पाद मॉडल पर विशेषता कोड है। यही कारण है कि my_attribute जुड़ा हुआ उत्पाद पर उपलब्ध हो जाएंगी, ताकि आप एक पूर्ण Mage::getModel('catalog/product')->load($oQuoteItem->getProductId())
प्रदर्शन करने की जरूरत के बिना
$oQuoteItem->getProduct()->getMyAttribute()
के माध्यम से पहुँच सकते हैं। यह बहुत अधिक कुशल है।
फिर, आपको उत्पाद ऑब्जेक्ट से मूल्यों को कॉपी करने के लिए पर्यवेक्षक की आवश्यकता होगी quote_item ऑब्जेक्ट पर। तो, config.xml में अपने पर्यवेक्षक की घोषणा:
<events>
<sales_quote_item_set_product>
<observers>
<quoteitem_set_custom_data>
<type>singleton</type>
<class>mymodule/observer</class>
<method>setCustomDataOnQuoteItem</method>
</quoteitem_set_custom_data>
</observers>
</sales_quote_item_set_product>
<events>
और इस तरह अपने पर्यवेक्षक कक्षा में कोड लिखने:
public function setCustomDataOnQuoteItem($oObserver){
$oProduct = $oObserver->getProduct();
$oQuoteItem = $oObserver->getQuoteItem();
foreach(array('my_attribute') as $vAttributeCode){
$oQuoteItem->setData($vAttributeCode,$oProduct->getData($vAttributeCode));
}
}
यहां एक संपूर्ण काम कर रहे मॉड्यूल है .. इसकी (लगभग) के रूप में ही जॉनटन के उपरोक्त कोड। आप इसे यहाँ मिलेगा: https://bitbucket.org/vovsky/adding-custom-product-attribute-to-quote-and-order-items-in/
और यहाँ हर कदम का पूरा विवरण: http://www.atwix.com/magento/custom-product-attribute-quote-order-item/
- 1. शॉपिंग कार्ट में न्यूनतम कीमत बनाएं Magento
- 2. सिम्फनी फ्रेंडली शॉपिंग कार्ट
- 3. शॉपिंग कार्ट और ऑर्डर
- 4. सर्वश्रेष्ठ PHP शॉपिंग कार्ट
- 5. शॉपिंग कार्ट न्यूनतमकरण एल्गोरिदम
- 6. मुझे शॉपिंग कार्ट
- 7. नोड.जेएस शॉपिंग कार्ट
- 8. स्वचालित रूप से Magento में शॉपिंग कार्ट मूल्य नियम बनाना
- 9. Magento कैसे जांचें कि शॉपिंग कार्ट खाली है या नहीं?
- 10. शॉपिंग कार्ट और स्टॉक प्रबंधन
- 11. शॉपिंग कार्ट, सत्र या डीबी?
- 12. Magento: कार्ट में
- 13. Magento: कार्ट/कोट
- 14. एएसपी.नेट शॉपिंग कार्ट को कैसे कार्यान्वित करें?
- 15. शॉपिंग कार्ट सत्र राज्य एएसपी.नेट एमवीसी
- 16. ओपन सोर्स PHP शॉपिंग कार्ट पुस्तकालय?
- 17. शॉपिंग कार्ट आइटम ग्राहक दृश्य में नहीं दिख रहे हैं
- 18. मॉडल का उपयोग करके शॉपिंग कार्ट में आइटम कैसे प्राप्त करें? (Magento)
- 19. Magento CE
- 20. एक शॉपिंग कार्ट आवेदन के लिए एक डेटाबेस डिजाइन?
- 21. विश्वसनीय एकाधिक अपडेट (उदाहरण: एक शॉपिंग कार्ट साफ़ करें)?
- 22. आईओएस: एक आईफोन ऐप में एक शॉपिंग कार्ट डिजाइन करना
- 23. मल्टी उत्पाद प्रकार शॉपिंग कार्ट के लिए रेल मार्ग
- 24. एम्बर.जेएस + एचटीएमएल 5 ड्रैग और ड्रॉप शॉपिंग कार्ट डेमो
- 25. रेल के लिए एक अच्छा शॉपिंग कार्ट मणि क्या है?
- 26. अमेज़ॅन शॉपिंग कार्ट की सामग्री कैसे प्राप्त करें?
- 27. वर्डप्रेस डब्ल्यूपी-ईकॉमर्स शॉपिंग कार्ट हेडर/कुकी समस्या
- 28. Magento के कार्ट और/या चेकआउट
- 29. Magento Checkout "शॉपिंग कार्ट खाली है" पृष्ठ पर रीडायरेक्ट करता है और आईई 7 और आईई 8
- 30. Magento कार्ट एपीआई कीमतें नहीं दिखा रहा है
क्यों कोई नहीं के रूप में स्पष्ट और पूर्ण तुमने किया था के रूप में एक ब्लॉग पोस्ट पैदा नहीं करता है ?? मैंने आपके उत्तर की तलाश में 2 घंटे बिताया! धन्यवाद ! – LittleBigDev