SymfonyのsfForm派生クラスで簡単に確認画面用に要素をHiddenに変換

の方法がbrtRiverさんのところで公開されていたのでメモ。

http://d.hatena.ne.jp/brtRiver/20081128/1227824656

bindした後で、sfWidgetSchema内の要素を全部sfWidgetFormInputHiddenに置き換える感じです。
こういう方法はアリですねぇ。


私はこれまでに自前でフォーム用フレームワークでアレコレシステムを作っていたのですが、そのフレームワークではフォーム要素のすべてが「通常表示モード」と「確認画面用(つまり入力値のスタティックテキスト表示とHIDDEN)モード」の2つ表示モードを持っていました。

これと同じように、SymfonyウィジェットもそれぞれHiddenやスタティックテキストに化けるモードを持っていて欲しいと思ったり思わなかったり。

この方法の利点は、表示する際のスタイルをウィジェットに内包できるので、テンプレートがすっきりするということです。


今回自分で作ってみたSymfony向けの管理画面表示クラス群は、自分でもまだまだ使い込んでいない状態なので、アレコレ作ってみていい感じになってきたら晒してみたいなぁと妄想・・・。