有没有方法添加自定义EAV属性,创建新实体时自动设置为其默认值?Magento:添加一个自定义的EAV属性,使用其缺省值自动创建实体创建
我设置eav_attribute.is_required
到1
和eav_attribute.default_value
到0
(默认值),但是当我创建一个新的对象它不会自动设置该属性。
顺便说一句,EAV实体类型是shipment
。在销售数据存储在平面表格之前,我正在进行1.3.2.4的安装。
编辑
乔纳森天问“你怎么加属性?”
在ModuleDir \ SQL \ module_setup \ mysql4安装-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');
乔纳森天问“你有没有检查该属性添加正确的领域eav_attribute?”
是的,它已被添加到eav_attribute。该属性是可设置的并且可以获取。
你是如何添加属性?在一个SQL设置文件或扩展`Mage_Eav_Model_Entity_Setup` ?.你有没有检查过该属性是添加到`eav_attribute`与正确的字段? – 2010-12-02 02:50:22