Magento - Ajout d'une nouvelle colonne à sales_flat_quote_item et sales_flat_order_item
-
09-10-2019 - |
Question
Je travaille avec la version Magento 1.4.1.1, et je veux enregistrer une valeur dans le tableau de sales_flat_quote_item
(et le transmettre à sales_flat_order_item
).
Je l'ai trouvé ce tutoriel , mais je ne suis pas sûr il est toujours pertinent (à la version Magento 1.4.1.1) car il parle d'une table appelée sales_order
, que je crois est maintenant sales_flat_order
et regarde un autre bit.
doit cette méthode fonctionne toujours? Si oui - Puis-je utiliser pour sales_flat_quote_item
et sales_flat_order_item
et ce que entity_type_id
dois-je mettre dans le 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 ce n'est pas la façon de le faire dans la nouvelle version Magento, comment dois-je faire?
Merci, Shani
La solution
-
Créer un nouveau module avec sa propre classe d'installation étendue à partir
Mage_Sales_Model_Mysql4_Setup
ou tout simplement l'utiliser comme classe d'installation du module dansconfig.xml
:<global> <resources> <your_module_setup> <setup> <module>Your_Module</module> <class>Mage_Sales_Model_Mysql4_Setup</class> </setup> </your_module_setup> </resources> </global>
-
Utilisez la méthode de
addAttribute($entity, $attributeCode, $options)
à l'intérieur de votre script d'installation, il ajoutera automatiquement une nouvelle colonne à conte de sales_flat_order. La même chose pour d'autres ENTITES.$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();
Autres conseils
important de savoir quand l'ajout d'attributs aux commandes: vous devez ajouter les mêmes attributs à des citations aussi (au moins dans mon cas, ce résolu tous les problèmes)