问题描述
我正在使用 Magento 版本 1.4.1.1,我想在 sales_flat_quote_item 表中保存一个值(并将其传递给 sales_flat_order_item).
I'm working with Magento version 1.4.1.1, and I want to save a value in sales_flat_quote_item table (and pass it to sales_flat_order_item).
我找到了本教程,但我不确定它仍然相关(对于 Magento 版本 1.4.1.1),因为它讨论了一个名为 sales_order 的表,我认为它现在是 sales_flat_order 并且看起来有点不同.
I've found this tutorial, but I'm not sure if it's still relevant (to Magento version 1.4.1.1) since it talks about a table called sales_order, which I believe is now sales_flat_order and looks a bit different.
这个方法还能用吗?如果是这样 - 我可以将它用于 sales_flat_quote_item 和 sales_flat_order_item 以及我应该在推荐中放入什么 entity_type_id :
Should this method still work? If so - Can I use it for sales_flat_quote_item and sales_flat_order_item and what entity_type_id should I put in the 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);`
如果在新的 Magento 版本中这不是这样做的方法,我应该怎么做?
If this is not the way to do that in the new Magento version, how should I do that?
谢谢,沙尼
推荐答案
使用从 Mage_Sales_Model_Mysql4_Setup 扩展的自己的设置类创建一个新模块,或者将其用作 config.xml 中的模块设置类:
Create a new module with own setup class extended from Mage_Sales_Model_Mysql4_Setup or just use it as module setup class in 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>
在设置脚本中使用 addAttribute($entity, $attributeCode, $options) 方法,它会自动向 sales_flat_order 故事添加一个新列.其他实体也是如此.
Use addAttribute($entity, $attributeCode, $options) method inside of your setup script, it will automatically add a new column to sales_flat_order tale. The same for other 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();