Magento - Aggiunta di una nuova colonna a sales_flat_quote_item e sales_flat_order_item
-
09-10-2019 - |
Domanda
Sto lavorando con Magento versione 1.4.1.1, e voglio salvare un valore nella tabella sales_flat_quote_item
(e passarlo al sales_flat_order_item
).
Ho trovato questo tutorial , ma io non sono sicuro se è ancora rilevante (per Magento versione 1.4.1.1), in quanto si parla di una tabella chiamata sales_order
, che credo sia ora sales_flat_order
e sembra un po 'diverso.
Se questo metodo funziona ancora? Se è così - Posso usarlo per sales_flat_quote_item
e sales_flat_order_item
e cosa entity_type_id
devo mettere in affido:
`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);`
Se questo non è il modo di fare che nella nuova versione di Magento, come devo fare?
Grazie, Shani
Soluzione
-
Creare un nuovo modulo con la propria classe di installazione esteso da
Mage_Sales_Model_Mysql4_Setup
o semplicemente utilizzarlo come modulo di classe di installazione inconfig.xml
:<global> <resources> <your_module_setup> <setup> <module>Your_Module</module> <class>Mage_Sales_Model_Mysql4_Setup</class> </setup> </your_module_setup> </resources> </global>
-
Utilizzare il metodo
addAttribute($entity, $attributeCode, $options)
all'interno dello script di installazione, si aggiungerà automaticamente una nuova colonna alla sales_flat_order racconto. Lo stesso per gli altri entités.$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();
Altri suggerimenti
cosa importante da sapere quando si aggiungono gli attributi per gli ordini: è necessario aggiungere gli stessi attributi quotazioni, troppo (almeno nel mio caso questo ha risolto tutti i problemi)