Есть атрибуты товаров, реализованные через eav, в которых хранятся attribute_id, product_id и value.
Чтобы добавить атрибут - необходимо в форму передать product_id, это значит, что перед добавлением атрибута товар уже должен быть создан.
На клиенте, в форме добавления товара, динамическое добавление атрибутов я могу реализовать при помощи jquery templates, получая атрибут из select`a, value вводить в форме, а сам product_id уже добавлять в контроллере после сохранения модели.
Собственно, метод рабочий, но гугл подсказывает, что вариант с jquery templates не актуален уже лет так 10.
Просьба поделиться вашими способами, возможно есть более элегантные варианты.
Спасибо.
Dmitry Bay, не очень удобно, проще разбить на табы и добавлять все вместе, тем более, если подобных моментов несколько - атрибуты, изображения, скидки и т.д, как в opencart, к примеру
slo_nik, Добрый вечер.
Статья вроде даже для первой версии yii и к сожалению не отвечает на вопрос, цель задачи примерно следующая:
Есть форма нового товара и есть вкладка атрибутов, которые добавляются динамически и сохраняются в момент записи товара.
Вопрос даже скорее о фронтенде, как это красиво вывести
не очень удобно, проще разбить на табы и добавлять все вместе, тем более, если подобных моментов несколько - атрибуты, изображения, скидки
Дмитрий Яковлев, в форме введите, укажите, загрузите все необходимые данные, а в контролере сохраните несколько моделей в одном действии.
Проблема в чём?
slo_nik, проблема в инкременте формы, т.е добавлении нескольких атрибутов
отношение к yii имеет скорее посредственное, хотя могут быть расширения, решающие эту проблему
Дмитрий Яковлев, читайте тогда про динамические формы, формируете массив, и после того, как стал известен ид при сохранении - записываете параметры необходимые.