将自定义后端模型添加到自定义属性

时间:2012-02-13 02:01:26

标签: magento

我正在尝试为自定义属性设置自定义后端模型。问题是Magento将“Mage”目录添加到路径中,因此我无法将所有文件保存在我的扩展目录中。

代码:

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('catalog_category', $postData['attribute_code'], array(
                        'label'      => $postData['frontend_label'],
                        'input'      => $postData['frontend_input'],
                        'backend'    => 'my_company/myextension_model_category_attribute_backend_file',
                        'required'   => $postData['is_required'],
                        'global'     => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
                        'group'      => $postData['attribute_group_name'],
                        'sort_order' => $postData['sort_order']
));

而不是相对于我的扩展程序的路径,“Mage”会被添加到前面并导致此错误:

Warning: include(Mage/My_Company/Model/My_Extension/Model/Category/Attribute/Backend/File.php): failed to open stream

我还没有找到适用于addAttribute()方法的解决方案。

在故障排除方面,目前还不清楚Magento在路径前面的位置。

一切都很好(我正在使用文件渲染器),但当然没有后端就无法正确保存。

我在使用Magento 1.6.1。

1 个答案:

答案 0 :(得分:1)

仔细检查您的app / code / local / Your_Company / Your_Extension / etc / config.xml是否将您的模型注册到Magento系统:

<global>
    ...
    <models>
        <my_company>
            <class>Company_Extension_Model_Category_Attribute_Backend_File</class>
        </my_company>
    </models>
    ...
</global>