Magento在结帐时保存新创建的订单属性值

时间:2014-10-30 08:59:39

标签: magento

我创建了一个新的订单属性。代码如下:

$installer = $this;

$installer->startSetup();

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('order', 'location', array(
    'position'             => 50,
    'type'              => 'text',
    'label'                => 'Location',
    'global'            => 1,
    'visible'           => 0,
    'required'          => 1,
    'user_defined'      => 1,
    'searchable'        => 0,
    'filterable'        => 1,
    'comparable'        => 1,
    'visible_on_front'  => 0,
    'visible_in_advanced_search' => 0,
    'unique'            => 0,
    'is_configurable'   => 0,
    'position'          => 1,
));

$installer->endSetup();

然后我需要在结帐时保存该属性值。我为' sales_order_save_before'创建了一个观察员功能。动作。

public function saveLocationOrderattributes(Varien_Event_Observer $observer){
        $event = $observer->getEvent();
        $order = $event->getOrder();
        $locationid = '10';
        $order->setLocation($locationid);
        Mage::getSingleton('custommodule/custommodule')->saveLocationOrderattributes($order);
        return $this;
    }

Din没有任何错误。然后我检查了订单详细信息中的值。什么都没有。

任何人都可以告诉我如何保存订单的属性值。

谢谢

1 个答案:

答案 0 :(得分:0)

  you can try the code: $order->save();