এটি পর্যবেক্ষক এবং কনফিগার.এক্সএমএল সম্পর্কিত আপনার জ্ঞানকে একত্রিত করে করা হয়। কনফিগার.এক্সএমএল কোট আইটেমটিতে একটি কাস্টম অ্যাট্রিবিউট সংজ্ঞা প্রদানের ব্যবস্থা করবে এবং একটি পর্যবেক্ষক একটি উদ্ধৃতিতে যুক্ত হওয়ার পরে পণ্যটির বৈশিষ্ট্যটি উদ্ধৃতিতে সংরক্ষণ করবে।
সেখান থেকে, আপনি 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। এবং এটি এক্সএমএল দিয়ে করা যেতে পারে:
<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