Форма отправки пользовательского модуля - PullRequest
0 голосов
/ 19 августа 2010

У меня вопрос по поводу формы drupal 6.

У меня есть 4 таблицы: location [ locationid , name ]; package [ packageid , name ], person [ personid , имя , locationid , адрес и т. Д ...] pickup [ pickupid , personid , packageid , locationid , _pickup_day _, ...].

Я создал формы и form_submit для трех таблиц: местоположение, пакет, человек (как обычно, простой CRUD). Теперь я хочу создать форму для отправки данных в таблицу «раскладки». Твист, единственный Данные, которые пользователь должен ввести, - это поле «pickup_day», которое может быть 1 или 0 (понедельник или вторник). Итак, я представляю, когда я перехожу к URL-адресу пикапов, я вижу список полей вывода:

имя | фамилия | местоположение | день выдачи | тип упаковки

first1 last1 church1 поле выбора (понедельник / вторник) поле выбора (type1 / type2 / type3)

first2 last2 church1 поле выбора (понедельник / вторник) поле выбора (тип1 / тип2 / тип3)

first3 last3 church1 поле выбора (понедельник / вторник) поле выбора (type1 / type2 / type3)

[кнопка отправки]

Когда данные отправляются, они отправляются в таблицу «раскладки».

Я пытаюсь понять, как визуализировать поля выбора при выводе информации о человеке.

(Отдельно, можно ли будет выполнить поиск до просмотра формы ... например, я ищу местоположение будет church1, тогда я увижу всех пользователей в этом месте в форме, показанной выше)

Вся помощь очень ценится ... даже указывая на модуль, который делает что-то похожее на это хорошо ... Мне просто нужно получить несколько подсказок о том, как люди подошли к этому. Большое спасибо!


Конечная цель: Так что, в основном, у меня есть несколько человек в моей базе данных. Каждому человеку назначается место, куда он может пойти и забрать еду. Я хочу записать каждый пикап для каждой недели для каждого человека. Так что у меня есть пикап стол для этого. Поэтому я пытаюсь создать единую форму (пикапы), куда я могу перейти и обновить информацию о том, кто что забрал ... в какой день (понедельник или вторник). Но так в этой форме мне нужно показать всех людей, зарегистрированных для определенного места. Итак, допустим, что человек зарегистрирован в церкви под названием Церковь 1 ... Я хочу найти местоположение Церкви 1, тогда все люди, зарегистрированные в этом месте, встают по порядку. Затем я могу выбрать, в какой день каждый человек собирал еду и какую еду он взял ... и нажмите «Отправить». Затем я выполню запрос к моей базе данных, чтобы добавить эту информацию.

Думаю, большое дело в том, что вместо того, чтобы создавать форму для каждого человека (для каждой строки), я просто делаю одну форму, и когда форма будет отправлена, все будут добавлены в таблицу «подбора» с соответствующим днем ​​и предмет, который они подобрали.

1 Ответ

0 голосов
/ 22 августа 2010

Я бы посоветовал вам взглянуть на встроенную поддержку AHAH API формы. Вы можете найти больше информации здесь: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#ahah. Если я правильно понимаю ваш вопрос, это довольно типичная ситуация в форме ajax / ahah; элемент в вашей форме запускает создание новых элементов формы.

Например, вы можете создать поле выбора местоположений. После выбора местоположения (#ahah ['event'] => 'change') вы можете сделать обратный вызов в местоположение в меню (#ahah ['path'] => path / to / callback), которое может генерировать элементы формы для добавления, в этом случае установите флажки для лиц и / или пакетов, связанных с этим местоположением.

Вы также можете сделать нечто подобное, используя поиск вместо элемента select.

...