Zend_Form コンポーネントを使用してフォームを作成しようとしていますが、要素の数が異なります。各 Zend_Form 要素の情報 (名前、オプション、バリデーター、フィルターなど) はデータベースに保存されます。
私が取り組んでいるアプリケーションは、さまざまな数の質問を含む調査を構築することで構成されています。各質問は、さまざまな回答の配列に関連付けられています。最終的に私の目標は、サーバー側で動的にラジオ/チェックボックス ボタンの配列を構築することです。
フォームをきれいに生成する方法を探していますが、フォーム内にモデルをロードする最良の方法がわかりません。モデルをコントローラーにロードしてから (どういうわけか、パラメーターを介して) 直接フォームに渡す必要がありますか、それともフォームの init() メソッド内でモデルをロードする方がよいでしょうか? フォーム クラス内、コントローラー内、またはモデル内のどこにロジックを配置するのが最適ですか?
私の考えは、データベース内のフォーム要素のプロパティ (名前、ルール、フィルターなど) を取得し、反復して最終的にフォームをレンダリングすることです。このアプローチについてどう思いますか?最終的に、今回は AJAX と JavaScript ライブラリ (jQuery など) を使用して、要素が動的に追加されます (クライアント側)。
Google で見つけた便利なリンクをいくつか紹介しますが、それらはすべて私の質問とは少し異なる質問に答えていると思います。
動的フォームの構築時、サーバー側:
- http://framework.zend.com/wiki/display/ZFPROP/Zend_Form+generation+from+models+-+Jani+Hartikainen
- http://weerophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html
- http://codeutopia.net/blog/2009/01/07/another-idea-for-using-models-with-forms/
クライアント側で AJAX 処理を使用して動的フォームを構築する場合: