2013-01-15 73 views
0

我想一個新的屬性添加到order_itemMagento的1.7 - 添加屬性order_item和設定值

安裝-0.1.0.php

$installer->addAttribute('order_item', 'xxx', array('type'=>'text', 'visible' => true, 'required' => false, 'is_user_defined' => true, 'note' => 'Field comment')); 
$installer->addAttribute('quote_item', 'xxx', array('type'=>'text', 'visible' => true, 'required' => false, 'is_user_defined' => true, 'note' => 'Field comment')); 

我看到eav_attribute

2個新行

screenshot

運行這兩次打印沒有:

$item = Mage::getModel('sales/order_item'); 
    $item->load(91); 

    $item->setXxx("test"); 
    $item->setData("xxx", "test"); 

    print $item->getXxx(); 

    $item->save(); 

如何爲此屬性設置和獲取訂單項中的值?

回答

2

不幸的是sales/ordersales/order_item沒有繼承或使用Magento中的eav_attribute結構。本博客文章解釋它非常好:http://www.krilion.net/blog/2012/08/adding-a-custom-attribute-to-a-magento-order/

它的JIST是,你需要創建安裝腳本,以節省您的新創造價值在平表(sales_flat_order_item)的新列。只要平板電腦中有xxx列,您應該可以保存您的xxx值。這意味着您的安裝程序腳本需要擴展Mage_Sales_Model_Mysql4_Setup而不是Mage_Eav_Model_Entity_Setup

+0

謝謝,它的工作原理!添加列並可以獲取並設置它。 – Guus