यह आपके पर्यवेक्षकों और config.xml के ज्ञान को मिलाकर किया जाता है। Config.xml उद्धरण आइटम पर एक कस्टम विशेषता परिभाषा के प्रावधान का प्रबंधन करेगा, और एक पर्यवेक्षक उत्पाद विशेषता को उद्धरण में जोड़ते समय उद्धरण में बचत करेगा।
वहाँ से, आप config.xml का उपयोग fieldset परिभाषा है, जिसमें से रूपांतरण संभाल लेंगे कॉल करने के लिए quote_item
करने के लिए order_item
।
पूर्ण प्रकटीकरण: नीचे दी गई सामग्री अटविक्स की है। जवाब के नीचे लिंक करें।
सबसे पहले, आपको sales->quote->item->product_attributes
नोड में कस्टम विशेषता जोड़ना चाहिए
:
<sales>
<quote>
<item>
<product_attributes>
<custom_attribute />
</product_attributes>
</item>
</quote>
</sales>
यह विशेषता सुलभ बनाता है जब हम इसे उत्पाद से उद्धरण आइटम में कॉपी करेंगे - जो कि हमारा अगला कदम है। इस कार्य के लिए पर्यवेक्षक का उपयोग किया जाता है, और घटना को बुलाया जाएगा
sales_quote_item_set_product
:
<sales_quote_item_set_product>
<observers>
<yourmodule_customattribute>
<class>yourmodule_customattribute/observer</class>
<method>salesQuoteItemSetCustomAttribute</method>
</yourmodule_customattribute>
</observers>
</sales_quote_item_set_product>
देखने वाला:
public function salesQuoteItemSetCustomAttribute($observer)
{
$quoteItem = $observer->getQuoteItem();
$product = $observer->getProduct();
$quoteItem->setCustomAttribute($product->getCustomAttribute());
}
आखिरी चीज जिसकी हमें देखभाल करने की आवश्यकता है - वह है विशेषता को इसमें से परिवर्तितquote_item
करना order_item
। और यह XML के साथ किया जा सकता है:
<fieldsets>
<sales_convert_quote_item>
<custom_attribute>
<to_order_item>*</to_order_item>
</custom_attribute>
</sales_convert_quote_item>
<sales_convert_order_item>
<custom_attribute>
<to_quote_item>*</to_quote_item>
</custom_attribute>
</sales_convert_order_item>
</fieldsets>
स्रोत: अटविक्स (जो जीत से भरा है): http://www.atwix.com/magento/custom-product-attribute-quote-order-item/