0
我无法在订单中获取和设置自定义属性。按顺序保存自定义属性
我有以下SQL脚本:
<?php
$installer = $this;
$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$attribute = array(
'position' => 1,
'type' => 'text',
'input' => 'varchar',
'label' => 'My Order Field',
'global' => 1,
'visible' => 1,
'required' => 0,
'user_defined' => 1,
'searchable' => 0,
'filterable' => 0,
'comparable' => 0,
'visible_on_front' => 1,
'visible_in_advanced_search' => 0,
'unique' => 0,
'is_configurable' => 0,
'position' => 1,
);
$setup->addAttribute('order', 'my_order_field', $attribute);
$installer->endSetup();
我可以运行此之后看到EAV表的属性。
我已经设置了一个观察者,当一个新的订单已经保存,我也确认正在运行(使用die()语句)时运行。
现在我已经删除了这些死亡的语句,改变了顺序保存代码,以这样的:
$event = $observer->getEvent();
$order = $event->getOrder();
$order->setMyOrderField('Hello');
而且在我的管理后台部分,我添加了一行,来检索数据:
<tr>
<td class="label"><label><?php echo Mage::helper('sales')->__('My Order Field') ?></label></td>
<td class="value"><strong><?php echo $_order->getMyOrderField(); ?></strong></td>
</tr>
但是,当我通过什么都没有出现新订单时,谁能告诉我我在将数据保存到自定义属性方面做错了什么?
感谢
是在sales_flat_order表中可用的领域? –