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表中可用的領域? –