Множественные категории у товара
Множественные категории у товара
Добрый день.
Встала такая проблема как лучше и красивее реализовать добавление товара в несколько категорий в карточке товара.
Самый простой это listbox с мультиселект но у него есть недостаток если в него кликнуть то сразу весь выбор сбрасывается и нужно снова выделять.
Хотелось бы наверное listbox и внутри него чекбоксы или делать список категорий с кнопками добавить и удалить.
Я так понимаю это реализовывается через pjax но никак не пойму технологию.
Помогите разобраться.
Может есть готовые примеры где можно подглядеть технологию.
Заранее большое спасибо.
Встала такая проблема как лучше и красивее реализовать добавление товара в несколько категорий в карточке товара.
Самый простой это listbox с мультиселект но у него есть недостаток если в него кликнуть то сразу весь выбор сбрасывается и нужно снова выделять.
Хотелось бы наверное listbox и внутри него чекбоксы или делать список категорий с кнопками добавить и удалить.
Я так понимаю это реализовывается через pjax но никак не пойму технологию.
Помогите разобраться.
Может есть готовые примеры где можно подглядеть технологию.
Заранее большое спасибо.
Re: Множественные категории у товара
Погляди http://ivaynberg.github.io/select2/ или аналог.
Re: Множественные категории у товара
Я делал чекбоксами для Yii1.
Re: Множественные категории у товара
Да я тоже об этом подумал, но не придумал как сделать прокручивающийся список этих чекбоксов, так как если категорий много то не очень хорошо смотрится и форма вытягивается из-за этого. Вы как этот вопрос решили ?ElisDN писал(а):Я делал чекбоксами для Yii1.
Re: Множественные категории у товара
Код: Выделить всё
<div style="max-height: 300px; overflow: auto">
...
</div>
Re: Множественные категории у товара
Так возник другой вопрос, как записать множественный выбор в связанную таблицу. Не могу найти подходяший пример. Выбор категорий сохраняется в переменную categories которая объявлена в классе Africles. Т. е как сохранить массив categories выбранных категорий в связанную таблицу. Конечно можно использовать обычные запросы insert но наверное есть более правильный способ.
Таблицы примерно такие
articles
id
name
arttocat
article_id
category_id
Таблицы примерно такие
articles
id
name
arttocat
article_id
category_id
Re: Множественные категории у товара
Ещё раз прочитав про AR я так понял что я иду не тем путём. Нужно объявить геттор getCetegories с hasmany. И при записей использовать link.
Так ли я понял систему записи.
Так ли я понял систему записи.
- GreenJunior
- Сообщения: 43
- Зарегистрирован: 2014.07.20, 20:30
Re: Множественные категории у товара
У меня та же проблема, не хочет записывать, но считывает отличноsergvic писал(а):Ещё раз прочитав про AR я так понял что я иду не тем путём. Нужно объявить геттор getCetegories с hasmany. И при записей использовать link.
Так ли я понял систему записи.
Все когда-то начинали
Re: Множественные категории у товара
Я решил эту проблему.
В функции afterSave класса AR я получаю список выбранных чекбоксов И с помощью self::getDb()->createCommand()->batchInsert заношу в промежуточную таблицу
Вот примерный код
В функции afterSave класса AR я получаю список выбранных чекбоксов И с помощью self::getDb()->createCommand()->batchInsert заношу в промежуточную таблицу
Вот примерный код
Код: Выделить всё
public function afterSave($insert, $changedAttributes)
{
if (is_array($this->subway_ids) && count($this->subway_ids)) {
Hospmetro::deleteAll(['hmIHospital' => $this->id]);
$values = [];
foreach ($this->subway_ids as $id) {
$values[] = [$this->id, $id];
}
self::getDb()->createCommand()
->batchInsert(Hospmetro::tableName(), ['hmIHospital', 'hmCMetro'], $values)->execute();
}
parent::afterSave($insert, $changedAttributes);
}