В Magento 1.9, как я могу установить пользовательское поле для заказа?
Мне нужно иметь еще одно дополнительное поле для каждого заказа. Я могу добавить этот атрибут с помощью этого кода:
<?php
$installer = $this;
$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('order', 'order_dropship_export_status', array(
'position' => 1,
'type' => 'text',
'label' => 'order_dropship_export_status',
'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,
));
$installer->endSetup();
И это поле добавляется в таблицу атрибутов eav_attribute в Magento. Однако, когда я устанавливаю его с помощью:
$order = Mage::getModel("sales/order") -> load($a_ids[0]);
$order -> setOrderDropshipExportStatus("XXXXXX");
$order -> save();
Он нигде не сохранен. Где и как я могу сохранить этот атрибут для заказа?
1
Author: Vladimir Despotovic, 2017-10-13
1 answers
Вы проверили свой config.xml настройки? Убедитесь в правильности настроек.
MyPack/CustomStatus/etc/config.xml
<global>
<resources>
<customstatus_setup>
<setup>
<module>MyPack_CustomStatus</module>
<class>Mage_Sales_Model_Resource_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customstatus_setup>
<customstatus_write>
<connection>
<use>core_write</use>
</connection>
</customstatus_write>
<customstatus_read>
<connection>
<use>core_read</use>
</connection>
</customstatus_read>
</resources>
<fieldsets>
<sales_convert_quote>
<order_dropship_export_status><to_order>*</to_order></order_dropship_export_status>
</sales_convert_quote>
<sales_convert_order>
<order_dropship_export_status><to_quote>*</to_quote></order_dropship_export_status>
</sales_convert_order>
</fieldsets>
</global>
MyPack/CustomStatus/sql/customstatus_setup/install-1.1.0.php
$installer = $this;
$installer->startSetup();
$installer->addAttribute("order", "order_dropship_export_status", array("type"=>"varchar"));
$installer->addAttribute("quote", "order_dropship_export_status", array("type"=>"varchar"));
$installer->endSetup();
Теперь вы можете получить доступ к этому пользовательскому файлу, используя:
//set value
$order->setData('order_dropship_export_status', 'Your Value');
$order->save();
//get value
$order->getData('order_dropship_export_status');
0
Author: batMask, 2018-02-23 10:57:35