Magento - Adición de una nueva columna a sales_flat_quote_item y sales_flat_order_item

StackOverflow https://stackoverflow.com/questions/4378394

  •  09-10-2019
  •  | 
  •  

Pregunta

Estoy trabajando con Magento versión 1.4.1.1, y quiero guardar un valor en la tabla sales_flat_quote_item (y pasarlo a sales_flat_order_item).

He encontrado este tutorial , pero no estoy seguro de si que sigue siendo relevante (a Magento versión 1.4.1.1), ya que habla de una tabla llamada sales_order, que creo que es ahora sales_flat_order y se ve un poco diferente.

En caso este método todavía funciona? Si es así - ¿Puedo usarlo para sales_flat_quote_item y sales_flat_order_item y lo entity_type_id debería poner en el commend:

`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);`

Si esta no es la manera de hacerlo en la nueva versión de Magento, ¿cómo debo hacerlo?

Gracias, Shani

¿Fue útil?

Solución

  1. Crear un nuevo módulo con la propia clase de instalación se extendía desde Mage_Sales_Model_Mysql4_Setup o simplemente lo utilizan como clase de instalación del módulo en 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. Usar el interior addAttribute($entity, $attributeCode, $options) método de secuencia de comandos de configuración, se añadirá automáticamente una nueva columna a cuento sales_flat_order. Lo mismo para los otros ENTIDADES.

    $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();
    

Otros consejos

Lo importante es saber cuando se añade atributos a órdenes: es necesario agregar los mismos atributos a las cotizaciones, también (al menos en mi caso esto resuelve todos los problemas)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top