新しいエンティティの作成時にデフォルト値に自動的に設定されるカスタムEAV属性を追加する方法はありますか?
とを(デフォルト値)に設定eav_attribute.is_required
しましたが、新しいオブジェクトを作成するときに属性が自動的に設定されません。1
eav_attribute.default_value
0
ちなみに、EAVエンティティタイプはshipment
です。販売データがフラットテーブルに保存される前に、1.3.2.4のインストールに取り組んでいます。
編集
Jonathan Dayは、「どのように属性を追加していますか?」と尋ねました。
ModuleDir \ sql \ module_setup \ mysql4-install-0.1.0.phpに、次のコードがあります。
$eav = new Mage_Eav_Model_Entity_Setup('sales_setup');
$eav->addAttribute('shipment', 'fieldname', array('type' => 'int'));
私はまた、Magentoの新しいバージョン(販売エンティティがEAVからフラットテーブルに移行した後)用にこのコードを持っています:
$w = $this->_conn;
$table = $this->getTable('sales_flat_shipment');
$w->addColumn($table, 'fieldname', 'int');
$w->addKey($table, 'fieldname', 'fieldname', 'index');
Jonathan Dayは、「属性が正しいフィールドでeav_attributeに追加されていることを確認しましたか?」と尋ねました。
はい、eav_attributeに追加されました。そして、属性はsettableとgettableです。