У меня на работе происходит этот дикий проект, и мы используем Symfony 1.4, поэтому я надеялся, в идеале, сохранить этот проект в пределах возможностей фреймворка, насколько это возможно. К сожалению, несмотря на довольно много исследований и поисков, я так и не нашел способа генерировать элементы sfWidgetForm на основе запросов к базе данных.
Я объясню, какова цель этого, объясняя ход проекта.
- Пользователь отправляет форму, которая содержит большую часть данных, необходимых нашим рекламодателям.
- На основе этих данных можно вызывать строки из базы данных. Возможно, эта форма была заполнена, и в ней пользователь утверждает, что интересуется садоводством. На основе этой релевантности это даст строку (или несколько строк, но что угодно) полей формы, связанных с садоводством.
- Здесь находится важная часть. Этот контент, связанный с садоводством, по сути представляет собой схему полей формы, необходимых для заполнения заявки для тех, кто интересуется садоводством. Мы получим типы элементов формы, имена, метки, статус требования, статус включения и т. д. На основе идентификаторов этих элементов мы можем увидеть, зависят ли какие-либо из них друг от друга из другой таблицы. Если это так, они обрабатываются с помощью javascript. Это другая история.
- На данный момент я могу либо создавать формы, используя пользовательские компоненты в Symfony (что было бы хорошо). Они будут выводить формы, которые работают нормально, но они не будут поддерживаться виджетами sfValidator, а это печально. Что я хотел бы сделать, так это каким-то образом сообщить какому-нибудь волшебному классу формы построить форму на основе критерия X, виджетов и валидаторов.
- После того, как форма заполнена и выведена, пользователь заполняет оставшиеся поля, вторая форма проверяется, и весь набор данных из обеих форм отправляется рекламодателю.
Меня больше всего здесь интересуют данные о динамическом создании форм в Symfony. Я могу легко построить, используя компонент, но я действительно не хочу. Тем более, что я планирую скоро уйти, а сохранить что-то в рамках было бы идеально для моих товарищей по команде.
Спасибо за любые идеи! Это довольно увлекательный проект, несмотря на то, что он скучен снаружи — я никогда раньше не создавал формы динамически, не говоря уже о Symfony. Должно быть круто.