Magento - 向sales_flat_quote_item和sales_flat_order_item添加新列

时间:2010-12-07 15:33:28

标签: php magento magento-1.4

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

我找到this tutorial,但我不确定它是否仍然相关(对Magento版本1.4.1.1),因为它谈到了一个名为sales_order的表,我相信现在{ {1}}看起来有点不同。

此方法是否仍然有效?如果是这样 - 我可以将其用于sales_flat_ordersales_flat_quote_item以及sales_flat_order_item我应该在推荐中使用的内容:

entity_type_id

如果在新的Magento版本中不能这样做,我该怎么做?

谢谢, 沙尼

2 个答案:

答案 0 :(得分:12)

  1. 创建一个新模块,其中包含从Mage_Sales_Model_Mysql4_Setup扩展的自定义类,或者仅将其用作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. 在设置脚本中使用addAttribute($entity, $attributeCode, $options)方法,它会自动向sales_flat_order故事添加新列。对其他人也一样。

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

答案 1 :(得分:4)

在向订单添加属性时要知道的重要事项:您还需要为引号添加相同的属性(至少在我的情况下这解决了所有问题)