Вопрос о том как упростить создание и конфигурирование товара.
Ситуация следующая. У меня, помимо Product, установлены Stock и Product attributes, но при создании товара через меню "Создание материала" они не доступны. Фактически атрибуты и складские установки появляются в уже готовом продукте, т.е. когда он представлен как отдельная нода. Весьма неудобно сначала создавать товары, а потом еще каждый из них дополнительно настраивать.
Под капот ни в Product, ни в Stock, ни в Product attributes пока еще не заглядывал, исходники не смотрел, но догадываюсь, что в принципе, Stock и Product attributes пишут соответсвующие данные о продукте в свои ТБД. Соответственно у меня возникает решение к типу материала Product посредством ССК добавить поля, которые позволят пользователю задать значения для Stock и Product attributes, а в кастомном модуле написать код, записывающий эти, дополнительные для Product значения в ТБД, принадлежащие Stock и Product attributes. Или может даже программно заполнить формы Stock и Product attributes и, программно же, вызвать их формы на выполнение.
Честно говоря, данное решение кажется мне достаточно громоздким. Может быть кто-то решал уже подобную задачу? Поделитесь опытом. Может есть более элегантное решение?
P.S. Вопрос об экспорте из csv пока не поднимался, по ряду причин, хотя не факт, что не этот вопрос не возникнет в дальнейшем. Как бы там ни было, но сейчас требуется решение вопроса о том, как максимально упростить ручной ввод.
Комментарии
1. добавить поля, которые позволят пользователю задать значения для Stock и Product attributes
2. создать правила в Rules
а вы тестили на рельном проекте такой вариант
Можно пример правил? Раньше еще не приходилось создавать, любопытно было бы взглянуть как это делать правильно.
Тестил на коммерце.. Думаю сущности Stock и Product attributes уберкарта в рулесах так же доступны.
Делал правило, которое присваивает товару термин в зависимости от стоимости:
Event:
Before saving a commerce товар
Условия:
Entity has field
Параметр: Сущность: [commerce-product], Поле: field_price_range
Сравнение данных
Параметр: Данные для сравнения: [commerce-product:commerce-price:amount], Оператор: меньше чем, Значение: 200000
Действия:
Установить значение
Параметр: Данные: [commerce-product:field-price-range], Значение: до 2000р
*field_price_range - ссылка на термин таксономии.