Добавление пользовательской внутренней модели в пользовательский атрибут - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь установить пользовательскую модель бэкенда для пользовательского атрибута. Проблема в том, что 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 Ответ

1 голос
/ 13 февраля 2012

Дважды проверьте, зарегистрировало ли ваше приложение вашу систему / код / ​​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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...