переопределить сохранение и загрузку атрибута в magento - PullRequest
0 голосов
/ 31 августа 2010

Как я могу переопределить способ, которым magento сохраняет и загружает определенный атрибут? Я хочу создать атрибут, который реализует отношение «многие ко многим» к продуктам поэтому у меня есть пользовательская таблица с entity_id и attr_id. Я использую атрибут multiselect, но magento сохраняет значения как csv в текстовом поле. Я хочу переопределить эту функцию, сохранить и загрузить ее из таблицы m2m.

При определении бэкэнд-модели для атрибута я имею контроль только перед beforeSave и afterSave, но не над самим сохранением.

Спасибо

1 Ответ

1 голос
/ 31 августа 2010

Я думаю, вам нужно создать собственный модуль с вашей собственной моделью, которая расширяет Mage_Core_Model_Abstract. Таким образом, вы можете переопределить функцию save() (всегда следя за тем, чтобы там тоже вызывали parent::save()!) Для выполнения вашей многостоловой логики.

После того, как вы создали эту модель, вы можете создать атрибут продукта, который использует Модель как frontend_model и / или backend_model. Вы можете создать атрибут в config.xml вашего модуля или в mysql setup .

Это не тривиально, и будьте осторожны с переопределением метода save(), который углубляется. Хорошая идея настроить некоторые модульные тесты, чтобы убедиться, что вы случайно не сломаете вещи ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...