Magento 马根托。向订单添加订单注释属性

Magento 马根托。向订单添加订单注释属性,magento,Magento,我想向我的订单实体添加客户评论。当前,我的安装脚本如下所示: <?php $installer = $this; /* @var $installer Mage_Sales_Model_Mysql4_Setup */ $installer->startSetup(); $newFields = array( 'k_customerordercomment' => array( 'type'

我想向我的订单实体添加客户评论。当前,我的安装脚本如下所示:

    <?php

$installer = $this;
/* @var $installer Mage_Sales_Model_Mysql4_Setup */

$installer->startSetup();

    $newFields = array(
        'k_customerordercomment' => array(
            'type'              => 'text',
            'label'                => 'Comments'
        ),
    );

    $entities = array('order');

    $setup = new Mage_Eav_Model_Entity_Setup('core_setup');

    foreach($newFields as $attributeName => $attributeDefs) {
        foreach ($entities as $entity) {
            $setup->addAttribute($entity, $attributeName, array(
                'position'             => 1,
                'type'              => $attributeDefs['type'],
                'label'                => $attributeDefs['label'],
                'global'            => 1,
                'visible'           => 1,
                'required'          => 0,
                'user_defined'      => 1,
                'searchable'        => 0,
                'filterable'        => 0,
                'comparable'        => 0,
                'visible_on_front'  => 1,
                'visible_in_advanced_search' => 0,
                'unique'            => 0,
                'is_configurable'   => 0,
                'position'          => 1,
            ));                
        }
    }



        $installer->getConnection()->addColumn(
        $installer->getTable('sales_flat_order'),
        'k_customerordercomment',
        'text NOT NULL DEFAULT ""'
    );

    $c = array (
        'backend_type'    => 'text',     // MySQL-Datatype
        'frontend_input'  => 'textarea', // Type of the HTML form element
        'is_global'       => '1',
        'is_visible'      => '1',
        'is_required'     => '0',
        'is_user_defined' => '0',
        'frontend_label'  => 'Customer Order Comment',
    );
    $setup->addAttribute('order', 'k_customerordercomment', $c);

    $installer->endSetup();

因为1.4版订单不使用eav srtukture。
使用属性类型“static”,而不是文本和其他设置类

'类型'=>'静态'

/* @var $installer Mage_Sales_Model_Mysql4_Setup */

$installer = $this;
$installer->startSetup();

$installer->addAttribute('order', 'field_name', array('type'=>'static', 'visible' => true, 'required' => false, 'is_user_defined' => true, 'note' => 'Field comment'));

$installer->endSetup();

这对我来说很有效,我不知道为什么和如何。但它是有效的

<?php

$installer = $this;
/* @var $installer Mage_Sales_Model_Mysql4_Setup */

$installer->startSetup();

$newFields = array(
    'customerordercomment' => array(
        'type'              => 'text',
        'label'                => 'Comments'
    ),
);

$entities = array('order');

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');

foreach($newFields as $attributeName => $attributeDefs) {
    foreach ($entities as $entity) {
        $setup->addAttribute($entity, $attributeName, array(
            'position'             => 1,
            'type'              => $attributeDefs['type'],
            'label'                => $attributeDefs['label'],
            'global'            => 1,
            'visible'           => 1,
            'required'          => 0,
            'user_defined'      => 1,
            'searchable'        => 0,
            'filterable'        => 0,
            'comparable'        => 0,
            'visible_on_front'  => 1,
            'visible_in_advanced_search' => 0,
            'unique'            => 0,
            'is_configurable'   => 0,
            'position'          => 1,
        ));                
    }
}



    $installer->getConnection()->addColumn(
    $installer->getTable('sales_flat_order'),
    'customerordercomment',
    'text NOT NULL DEFAULT ""'
);

$c = array (
  'backend_type'    => 'text',     // MySQL-Datatype
  'frontend_input'  => 'textarea', // Type of the HTML form element
  'is_global'       => '1',
  'is_visible'      => '1',
  'is_required'     => '0',
  'is_user_defined' => '0',
  'frontend_label'  => 'Customer Order Comment',
);
$setup->addAttribute('order', 'customerordercomment', $c);

$installer->endSetup();