Атрибут продукта Пользовательский атрибут Multiselect не может сохранять значения

magento.stackexchange https://magento.stackexchange.com//questions/69647

Вопрос

Я создал продукт пользовательский атрибут называемый пакет, который является многосексуальным.

$this->addAttribute(
    'catalog_product',
    'packages',
    array(
        'group'             => 'Package',
        'backend'           => '',
        'frontend'          => '',
        'class'             => '',
        'default'           => '',
        'label'             => 'Packages',
        'input'             => 'multiselect',
        'type'              => 'text',
        'source'            => 'npm_recurrex/package_source',
        'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
        'is_visible'        => 1,
        'required'          => 0,
        'searchable'        => 0,
        'filterable'        => 0,
        'unique'            => 0,
        'comparable'        => 0,
        'visible_on_front'  => 1,
        'user_defined'      => 1,
    )
);
.

и параметры этого поля получают от пользовательского модуля, называемого пакетом, где я создаю / редактирующую объект пакета.

Введите описание изображения здесь

Все в порядке, но только проблема Когда я сохраняю продукт с пользовательским атрибутом, я выбираю несколько вариантов, я имею в виду, я выбираю Package1 и Package2 и сохранить продукт. Продукт сохранен успешно, но это не сохраняет мои пользовательские выбранные значения атрибута, пользовательский атрибут [Multi Select] не хранится в базе данных.

Может кто-нибудь предложить, что не так с этим, где я не очень хорош в этом процессе?

Спасибо за ценные ответы

Это было полезно?

Решение

Вы должны убедиться, что Magento изменяет ваши значения на что-то, что можно записать в базу данных, массив не может.

Так что вам нужно добавить модель Backend:

'backend'       => 'eav/entity_attribute_backend_array',
.

Подробнее на Stackoverflow

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top