Регистрация
Вход через соцсети
Восстановление пароля

Компонент с заранее неизвестным количеством полей

Новый топик
09.11.2011, 15:52
Ответить | Цитировать
LostSenSS

Зарегистрирован:
2011-06-23
Сообщений: 21

Необходимо создать компонент с заранее неизвестным количеством полей вида 'название позиции' - 'количество единиц'.
Есть, конечно, вариант заранее создать заведомо достаточное количество полей, но это как-то некрасиво и неправильно улыбка
Возможно нормальное решение? Как его реализовать?

Успех — это умение двигаться от неудачи к неудаче, не теряя энтузиазма (с)Уинстон Черчилль
09.11.2011, 21:19
Ответить | Цитировать
resident
Веб-группа «Дабл Ю»

Зарегистрирован:
2005-01-10
Сообщений: 336

что-то я не понял для чего неограниченное кол-во полей когда у вас указано что нужно два поля: название и кол-во
10.11.2011, 00:24
Ответить | Цитировать
LostSenSS

Зарегистрирован:
2011-06-23
Сообщений: 21

Затем, что неизвестно, сколько именно будет позиций. Может 5, а может 100.
Т.е. получается PositionName1, PositionVal1, PositionName2, PositionVal2 ... PositionName100, PositionVal100
Не создавать же для этого 200 полей.
Каждая из этих позиций отдельным самостоятельным объектом быть не может, подобный перечень имеет каждый объект компонента.

Простой пример, где это очень часто необходимо: товар с перечнем характеристик вида: вес - 1кг, высота - 2м, цвет - красный и тд. Характеристики у каждого товара разные и их количство разное. Отображаться должны не сплошным текстом, а в виде таблицы. Не хочется заставлять заказчика при добавлении товара разбираться с созданием и правкой таблицы, гораздо удобнее для него просто указать для товара название характеристики и ее значение, нажать кнопку 'еще одна характеристика', указать следующие значения и тд.

Примерно так же реализовано в админке нетката добавление полей в мастере создания компонента.

Успех — это умение двигаться от неудачи к неудаче, не теряя энтузиазма (с)Уинстон Черчилль
10.11.2011, 01:22
Ответить | Цитировать
Гость
Гость

Только дополнительная таблица (компонент) с 3 полями: ID родителя (из основного компонента), PositionName, PositionVal. Ну и, соответственно, нужно так настроить необходимые формы добавления/изменения, чтобы заказчик видел то, что вы описали. А уж как это там будет храниться в недрах системы — ему вряд ли интересноулыбка
10.11.2011, 09:50
Ответить | Цитировать
LostSenSS

Зарегистрирован:
2011-06-23
Сообщений: 21

Спасибо!
Как я понимаю, таблицу нужно вручную создать прямо в БД?
Очень жаль что это нет возможности реализовать это силами Нетката.
Может быть кто-то подобное уже делал?

Успех — это умение двигаться от неудачи к неудаче, не теряя энтузиазма (с)Уинстон Черчилль
10.11.2011, 10:55
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

создайте новый компонент с нужными полями - это и будет отдельная табличка

Temet nosce...
12.11.2011, 22:06
Ответить | Цитировать
Гость
Гость

аенопотвепт
198 196 2011-11-12 22:06:46 11666
Описание проекта