Magento - 向 sales_flat_quote_item 和 sales_flat_order_item 添加新列

发布于 2024-10-06 14:41:45 字数 1369 浏览 2 评论 0原文

我正在使用 Magento 版本 1.4.1.1,我想在 sales_flat_quote_item 表中保存一个值(并将其传递给 sales_flat_order_item)。

我找到了本教程,但我不确定它是否仍然相关(对于 Magento 版本 1.4.1.1),因为它讨论了一个名为 sales_order 的表,我相信它现在是 sales_flat_order 并且看起来有点不同。

这个方法还应该有效吗?如果是这样 - 我可以将其用于 sales_flat_quote_itemsales_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版本中,我应该怎么做?

谢谢, 沙尼

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).

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.

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

If this is not the way to do that in the new Magento version, how should I do that?

Thanks,
Shani

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九八野马 2024-10-13 14:41:46
  1. 使用从Mage_Sales_Model_Mysql4_Setup扩展的自己的设置类创建一个新模块,或者仅将其用作config.xml中的模块设置类:

     <全局>
         <资源>
             <您的模块设置>
                  <设置>
                      <模块>Your_Module
                      Mage_Sales_Model_Mysql4_Setup
                  
             
         
     
    
  2. 使用在设置脚本中使用 addAttribute($entity, $attributeCode, $options) 方法,它会自动向 sales_flat_order 故事添加一个新列。其他实体也是如此。

    $installer = $this;
    $安装程序->startSetup();
    $安装程序->addAttribute(
        '命令', 
        '你的属性代码', 
        大批(
            '类型' => 'int', /* varchar, 文本, 小数, 日期时间 */,
            '网格' => false /* 或 true 如果您不想在订单网格页面上使用此属性 */
        )
    );
    $安装程序->endSetup();
    
  1. 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>
    
  2. 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();
    
淡淡の花香 2024-10-13 14:41:46

向订单添加属性时需要了解的重要一点:您也需要向引号添加相同的属性(至少在我的情况下,这解决了所有问题)

important thing to know when adding attributes to orders: you need to add the same attributes to quotes, too (at least in my case this solved all problems)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文