0

新しい属性を追加したいorder_item

インストール-0.1.0.php

$installer->addAttribute('order_item', 'xxx', array('type'=>'text', 'visible' => true, 'required' => false, 'is_user_defined' => true, 'note' => 'Field comment'));  
$installer->addAttribute('quote_item', 'xxx', array('type'=>'text', 'visible' => true, 'required' => false, 'is_user_defined' => true, 'note' => 'Field comment'));

2 つの新しい行が表示されますeav_attribute

スクリーンショット

これを 2 回実行すると、何も出力されません。

    $item = Mage::getModel('sales/order_item');
    $item->load(91);

    $item->setXxx("test");
    $item->setData("xxx", "test");

    print $item->getXxx();

    $item->save();

この属性の注文アイテムの値を設定および取得するにはどうすればよいですか?

4

1 に答える 1

2

残念ながらsales/ordersales/order_itemMagento では eav_attribute 構造を継承または使用していません。このブログ投稿はそれをかなりよく説明しています: http://www.krilion.net/blog/2012/08/adding-a-custom-attribute-to-a-magento-order/

sales_flat_order_itemその要点は、新しい値を保存するために、フラット テーブル ( ) に新しい列を作成するインストーラー スクリプトを作成する必要があるということです。フラットテーブルに xxx 列があるとすぐに xxx 値を保存できるはずです。これは、インストーラー スクリプトを拡張する必要があることを意味しMage_Sales_Model_Mysql4_SetupますMage_Eav_Model_Entity_Setup

于 2013-01-15T12:27:37.940 に答える