1

私は現在、PHPアプリケーションを更新して、非常に優れた小枝テンプレートエンジンを使用するようにしています。

私はこの問題にどのように取り組むかについて問題にぶつかりました。アプリケーションには、独自に開発されたフォームクラスのセットがあります。基本的に、フォームオブジェクトにフィールドをプログラムで追加したり、メソッドやアクションを設定したりできます。これがすべて完了すると、render()メソッドが呼び出され、フォーム用に生成されたHTMLスニペットが吐き出されます。

raw次のようなフィルターを使用して、フォームをテンプレートに出力することができました。

{{ form|raw }}

これはうまく機能しますが、symfony2にはform_widget()というメソッドがあり、rawとして出力せずにフォームのレンダリングを具体的に処理します。

使用できるようにアプリケーションを調整したいのですが、詳細なform_widget()ドキュメントが見つかりません。form_widget()symphony2フレームワークを使用せずにデータを渡す方法を誰かが指摘できますか?それが配列、オブジェクト、または他の何かであるかどうか?

4

1 に答える 1

1

Symphonyのソースコードを調べたところ、フォームがHTMLとしてレンダリングされるように、拡張機能が作成されたようです。

'form_widget' => new \Twig_Function_Method($this, 'renderWidget', array('is_safe' => array('html'))),

したがって、私がする必要があるのは、同様の機能を提供するために独自の小枝拡張を作成することだけだと思います。

于 2011-09-22T06:16:41.440 に答える