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

Множественный выбор, но не из списка

Новый топик
21.10.2009, 12:18
Ответить | Цитировать
Хыиуду

Зарегистрирован:
2009-10-21
Сообщений: 156

Здравствуйте. Ситуация следующая: есть системная таблица пользователей. Есть компонент "подразделение" (с полями Название, E-mail и т.д). К каждому пользователю должно быть привязано несколько подразделений. К сожалению, поле со множественным выбором может получать данные только из списка, а подразделения - это компонент. Можно ли как-то обойти это ограничение, т.е. сделать так, чтобы список подразделений с возможностью множественного выбора брался из компонента "Подразделение", а не из списка?
21.10.2009, 14:18
Ответить | Цитировать
Хыиуду

Зарегистрирован:
2009-10-21
Сообщений: 156

От техподдержки получен следующий ответ:

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

Можно поступить так:
Создаете поле типа "Строка" (допустим его имя abc), в котором через запятую(иди другой разделитель) будут содержаться номера подразделений.
В форму добавления приписываете select с возможностью выбора нескольких элементов. В условие добавления будет доступен массив с выбранными элементами, вы преобразуете в строчку (есть функция join) и эту строчку присваиваете переменной $f_abc.

Спасибо
28.10.2009, 12:02
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

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

Всё элементарно делается путем создания альтернативных форм добавления/редактирования. Я таким образом делал свой модуль облака тегов. Основная причина переделки - то что все охреневают запоминать ранее введенные теги (с написанием с точностью до символа).

Сделал отдельный компонент "реестр тегов". Далее в компоннете, который использует теги, в альтернативных формах добавления вызываю через яваскрипт отдельное окно, в которое выводятся все теги из реестра в виде галочек, далее отмечается что выделено и все выделенные значения передаются в исходную форму. Далее уже задействуется тот совет, который дали в неткете - через массив.

В общем, сделать реально. Для этого надо разобраться в яваскриптах.



Temet nosce...
198 196 2009-10-28 12:02:03 7792
Описание проекта