0

登録フォームのレイアウトを上書きするにはどうすればよいですか

現在、フォームは

  -username 
  -email  
  -password  
  -verification  

このフォームのレイアウトを上書きしたいのですが、たとえば、行ごとに2つの質問があります

 -username      -email
 additional text   
 -password      -verification

ビュー(twigs)の記述方法を理解しています。register.html.twigは、以下を使用するregister_content.html.twigを呼び出します。

{{ form_widget(form) }}

どうすればオーバーライドできます {{ form_widget(form) }}か?

4

1 に答える 1

3

FosUserBundle登録フォームテンプレートを上書きする必要があります。

次の方法でオーバーライドを実行できます。

  • app/resourcesディレクトリに同じ名前のテンプレートを定義します。「同じ名前」を一緒に使用すると、バンドルの同じ構造を再現する必要があります。したがって、テンプレートがFosUserBundle / views / mainTemplate.html.twigにある場合は、app / resources / FosUserBundle / viewsに新しいテンプレートを1つ作成してオーバーライドし、mainTemplate.html.twigと呼ぶ必要があります。

  • 新しいバンドルを最初から作成し、オーバーライドするバンドル名を含む文字列を返すgetParent()メソッドをオーバーライドする必要があります(FosUserBundle)。これで、元のテンプレートと同じ位置に新しいテンプレートを作成すると、それが上書きされます。コントローラもオーバーライドする必要があるため、この方法はお勧めしません。

于 2013-01-28T08:20:05.103 に答える