Magento - добавление нового столбца в sales_flat_quote_item и sales_flat_order_item - PullRequest
4 голосов
/ 07 декабря 2010

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

Я нашел этот учебник , но я не уверен, что он все еще актуален (для версии 1.4.1.1 Magento), так как в нем говорится о таблице с именем 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, как мне это сделать?

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

Ответы [ 2 ]

12 голосов
/ 07 декабря 2010
  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();
    
4 голосов
/ 09 августа 2012

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

...