Magento – добавление нового столбца в sales_flat_quote_item и sales_flat_order_item

Я работаю с Magento версии 1.4.1.1, и я хочу сохранить значение в таблице sales_flat_quote_item (и передать его в sales_flat_order_item ).

Я нашел этот учебник , но я не уверен, что он по-прежнему актуальен (для Magento версии 1.4.1.1), поскольку он говорит о таблице, называемой sales_order , которая, я считаю, теперь является sales_flat_order и выглядит немного по-другому.

Должен ли этот метод работать? Если это так – могу ли я использовать его для sales_flat_quote_item и sales_flat_order_item а какой entity_type_id следует добавить в похвалу:

 `insert into eav_attribute('entity_type_id','attribute_code','attribute_model','backend_model','backend_type','backend_table','frontend_model','frontend_input','frontend_input_renderer','frontend_label','frontend_class','source_model','is_global','is_visible','is_required','is_user_defined','default_value','is_searchable','is_filterable','is_comparable','is_visible_on_front','is_html_allowed_on_front','is_unique','is_used_for_price_rules','is_filterable_in_search','used_in_product_listing','used_for_sort_by','is_configurable','apply_to','position','note','is_visible_in_advanced_search' ) values(11, 'my_new_column', null, '', 'static', '', '', 'text', '','',null, '', 1,1,1,0,'',0,0,0,0,0,0,1,0,0,0,1,'',0,'',0);` 

Если это не способ сделать это в новой версии Magento, как мне это сделать?

Спасибо, Шани

  1. Создайте новый модуль с собственным классом установки, расширенным от Mage_Sales_Model_Mysql4_Setup или просто используйте его в качестве модуля настройки модуля в config.xml :

      <global> <resources> <your_module_setup> <setup> <module>Your_Module</module> <class>Mage_Sales_Model_Mysql4_Setup</class> </setup> </your_module_setup> </resources> </global> 
  2. Используйте addAttribute($entity, $attributeCode, $options) внутри вашего сценария установки, он автоматически добавит новый столбец в сказку sales_flat_order. То же самое для других.

     $installer = $this; $installer->startSetup(); $installer->addAttribute( 'order', 'your_attribute_code', array( 'type' => 'int', /* varchar, text, decimal, datetime */, 'grid' => false /* or true if you wan't use this attribute on orders grid page */ ) ); $installer->endSetup(); 

важно знать, добавляя атрибуты к заказам: вам также нужно добавить те же атрибуты в кавычки (по крайней мере, в моем случае это решило все проблемы)