1 Отредактировано Игорь (25.02.2019 22:15:24)

Тема: Не работают дополнительные поля в категории "Все"

Всем привет.
Кто сталкивался с подобным, а именно. Если создать через класс обработки событий Handlers какое нибудь доп. поле например:

public static function ormInitCatalogDir(\Catalog\Model\Orm\Dir $orm_dir)
    {
        $orm_dir->getPropertyIterator()->append(array(
            t('Основные'),
            'test' => new Type\Varchar(array(
                'index' => true,
                'description' => t('TEST'),
            )),
        ));
    }

То поле выводится но НЕ сохраняет введенные значения и это ТОЛЬКО в категории "Все". В других категориях все работает. Быть может, что-то не так написано?

https://prnt.sc/mpz4ef

Повысить оценку Понизить оценку

2

Re: Не работают дополнительные поля в категории "Все"

Дело в том, что значение вашего поля в обычном случае сохраняется в таблице категорий в строке соответствующей категории.

Категория "Все" - это виртуальная категория, ее не существует в базе, у нее id=0,  поэтому вам необходимо перехватывать orm.beforewrite.catalog-dir и записывать значение куда-нибудь в другое место (мы обычно записываем в конфиг модуля).

Повысить оценку Понизить оценку