Magento add product attribute to order item table and quote item table

127 篇文章 0 订阅

#1 add attribute for entites in upgrade script:

<?php
$installer = new Mage_Sales_Model_Resource_Setup('core_setup');
/**
 * Add 'checkout_process' attribute for entities
*/
$entities = array(
		'quote_item',
		'order_item'
);
$options = array(
		'type'     => Varien_Db_Ddl_Table::TYPE_INTEGER,
		'visible'  => true,
		'required' => false
);
foreach ($entities as $entity) {
	$installer->addAttribute($entity, 'checkout_process', $options);
}
$installer->endSetup();

 #2 add observer in config.xml

<global>
 <fieldsets>
        <sales_convert_quote_item>
            <checkout_process>
                <to_order_item>*</to_order_item>
            </checkout_process>
        </sales_convert_quote_item>
        <sales_convert_order_item>
	        <checkout_process>
	            <to_quote_item>*</to_quote_item>
	        </checkout_process>
    	</sales_convert_order_item>
    </fieldsets>
     <sales>
        <quote>
            <item>
                <product_attributes>
                    <checkout_process />
                </product_attributes>
            </item>
        </quote>
    </sales>
    <events>
        <sales_quote_item_set_product>
            <observers>
                <sales_quote_item_set_checkoutprocess_handler>
                    <class>mycheckout/observer</class>
                    <method>setCheckoutProcessAttribute</method>
                </sales_quote_item_set_checkoutprocess_handler>
            </observers>
        </sales_quote_item_set_product>
    </events>

 #3 observer function

   public function setCheckoutProcessAttribute(Varien_Event_Observer $observer) {
	   	$item = $observer->getQuoteItem();
	   	$product = $observer->getProduct();
	   	$item->setCheckoutProcess($product->getCheckoutProcess());
	   	return $this;
   }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值