Создайте уникальные поля формы на основе запроса к базе данных в Symfony 1.4 / Doctrine 1.2 - PullRequest
0 голосов
/ 30 сентября 2011

У меня этот дикий проект, который происходит на работе, и мы используем Symfony 1.4, поэтому я в идеале надеялся сохранить этот проект в рамках возможностей фреймворка в максимально возможной степени.К сожалению, несмотря на немало исследований и поисков, я еще не нашел способ генерировать элементы sfWidgetForm на основе запросов к базе данных.

Я поясню, для чего это нужно, объясняя последовательность действий.проекта.

  1. Пользователь отправляет форму, которая содержит большинство данных, необходимых нашим рекламодателям.
  2. На основании этих данных строки из базы данных могутназываться.Возможно, эта форма была заполнена, и в ней пользователь утверждает, что интересуется садоводством.Исходя из этой релевантности, это приведет к ряду (или нескольким строкам, но независимо от того) полей формы, связанных с садоводством.
  3. Здесь заключается важная часть.Это содержание, связанное с садоводством, по сути представляет собой наброски полей формы, необходимых для заполнения представления для кого-то, кто интересуется садоводством.Мы получим типы элементов формы, имена, метки, статус требования, статус включения и т. Д. На основании идентификаторов этих элементов мы можем увидеть, зависят ли какие-либо из них друг от друга из другой таблицы.Если это так, они обрабатываются с помощью JavaScript.Это другая история.
  4. На данный момент я могу создавать формы, используя пользовательские компоненты в Symfony (что было бы хорошо).Они будут выводить формы, которые работают нормально, но они не будут поддерживаться виджетами sfValidator, что очень печально.Что бы я хотел сделать, это каким-то образом сказать какому-нибудь классу магических форм построить форму, основанную на критерии X, виджетах и ​​валидаторах.
  5. Как только форма заполнена и выведена, пользовательзаполняет оставшиеся поля, вторая форма проверяется и весь набор данных из обеих форм отправляется рекламодателю.

Больше всего меня интересуют данные о динамическом построении форм внутриSymfony.Я могу легко построить компонент, но на самом деле не хочу.Тем более, что я планирую вскоре уйти, и что-то держать в рамках было бы идеально для моих товарищей по команде.

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

Ответы [ 2 ]

0 голосов
/ 25 октября 2011

Пример того, как я решил эту проблему, можно найти здесь: http://pastebin.com/NrJeADAk

Хорошо работает.Если ваша база данных описывает ваши формы правильно и последовательно, вы даже можете создавать новые формы, отправляя их описания через форму.Я сделал это для моей команды на работе, и с очень серьезной проверкой на полях, до сих пор им не удалось создать единую форму, которая вызывает проблемы.Я частый пользователь SO, поэтому, если вы наткнетесь на это и хотели бы узнать больше, не стесняйтесь сообщать мне.

0 голосов
/ 10 октября 2011

Вы можете, конечно, создавать списки выбора / переключатели / флажки на основе запроса - я не уверен, что именно это вы хотите делать?

См. http://www.symfony -project.org /api / 1_4 / sfWidgetFormDoctrineChoice и параметр query - я часто этим пользуюсь, и он отлично работает.

Динамически создавать целую форму будет сложно IMO - думаю, вам нужно определитьпо крайней мере, некоторые правила, чтобы вы могли отображать / скрывать определенные элементы формы.

...