Динамические поля в модели
Динамические поля в модели
Приветствую.
Прошу не бить меня сильно, возможно тема была на форуме, но либо я не знаю что спрашивать либо искать не умею.
Есть такая задача:
Есть элементы Items которые принадлежат Categories.
Каждая Categories должна иметь несколько типов полей (текстовое поле, чекбокс, селект, мультиселект).
Причем количество полей не ограничено и пользователь в любой момент может добавить еще таких полей.
Если он выбирает тип поля селект/мультиселект, то должна быть возможность добавить необходимое количество вариантов выбора.
Подскажите как можно красиво реализовать такой функционал, ведь с большинстве cms или интернет магазинах такая возможность есть.
Читал про бехавиоры, но пока не понятно как их сюда прикрутить.
Ткните носом
Прошу не бить меня сильно, возможно тема была на форуме, но либо я не знаю что спрашивать либо искать не умею.
Есть такая задача:
Есть элементы Items которые принадлежат Categories.
Каждая Categories должна иметь несколько типов полей (текстовое поле, чекбокс, селект, мультиселект).
Причем количество полей не ограничено и пользователь в любой момент может добавить еще таких полей.
Если он выбирает тип поля селект/мультиселект, то должна быть возможность добавить необходимое количество вариантов выбора.
Подскажите как можно красиво реализовать такой функционал, ведь с большинстве cms или интернет магазинах такая возможность есть.
Читал про бехавиоры, но пока не понятно как их сюда прикрутить.
Ткните носом
Feci quod potui,faciant meliora potentes
- porcelanosa
- Сообщения: 570
- Зарегистрирован: 2010.03.16, 04:31
- Откуда: Москва
Re: Динамические поля в модели
посмотрите как там сделано
обычно несколько таблиц
обычно несколько таблиц
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: Динамические поля в модели
В простейшем случае нужны две таблицы.
1. Список полей к типам товаров tbl_attribute (модель Attribute):
2. Значения для каждого товара tbl_attribute_value (модель AttributeValue):
с отношением
Продукту добавляем отношение для получения значений его атрибутов
И выводим циклом значения и подписи
1. Список полей к типам товаров tbl_attribute (модель Attribute):
Код: Выделить всё
id (pk)
type_id (fk тип товара)
name (название поля)
alias (название транслитом, если нужно)
fieldtype (тип значения: text, checkbox, ...)
Код: Выделить всё
id (pk)
product_id (fk продукт)
attribute_id (fk к tbl_attribute)
value (значение)
Код: Выделить всё
'arrtibute'=>array(self::BELONGS_TO, 'Attribute', 'attribute_id')
Код: Выделить всё
'attrvalues'=>array(self::HAS_MANY, 'AttributeValue', 'product_id')
Код: Выделить всё
<?php foreach ($product->attrvalues as $attrvalue): ?>
<p><?php echo $attrvalue->arrtibute->name; ?>: <?php echo $attrvalue->value; ?></p>
<?php endforeach; ?>
Re: Динамические поля в модели
Развил тему у себя в статье динамические атрибуты для товаров. Если что-то непонятно, то скажите и я дополню.
Re: Динамические поля в модели
Привет. Где надо посмотреть не понялporcelanosa писал(а):посмотрите как там сделано
обычно несколько таблиц
Feci quod potui,faciant meliora potentes
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: Динамические поля в модели
т.е. у вас я могу в инпут поле вставить несколько значений?
Re: Динамические поля в модели
Про eav я слышал, но есть пара моментовlancecoder писал(а):eav
1. Хотелось бы поподробнее со ссылками на статьи или примерами
2. Бегло почитал про еав увидел что не многим он нравится и какието проблемы с поиском возникают
Feci quod potui,faciant meliora potentes
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: Динамические поля в модели
проблема там одна, что у вас будет расти таблица валуе, но в данной технологии это не избежно, для кмс самое оно именно в этом один из их минусов
ссылки вам покажет гугл у меня вторая на хабр
ссылки вам покажет гугл у меня вторая на хабр
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: Динамические поля в модели
монго дб гуглите тоже, там можете реализовать такое безболезнено
апд: п.с. монго как пример
апд: п.с. монго как пример