2

次のチェックボックス フィールド (1)
があり、チェックボックスに画像を追加したいと思います。

以下の方法(2)でtwi​​gファイルに追加したのですが、配置が悪いです。次のように配置したいと思います(3)

// (1)
->add('remove_avatar', 'checkbox', array(
    'label' => 'user.label.current_avatar',
    'required' => false,
    'mapped' => false,
))

// (2)
{{ form_widget(form) }}
<span class="user">
    <img src="{{ get_avatar(user) }}" class="user-avatar">
</span>

// (3)
<div class="controls">
    <img src="some_like">
    <input type="checkbox" id="profile_remove_avatar" name="profile[remove_avatar]" value="1">
    <label class="control-label" for="profile_remove_avatar">Remove the current avatar</label>
</div>

それを行う最良の方法は何ですか?

4

1 に答える 1

1

フォーム全体をレンダリングする代わりに、form_widget(form)各フィールドを単独でレンダリングすると、さらに多くのことができます。このような:

<div class="controls">
    <img src="some_like">
    {{ form_widget(form.remove_avatar) }}
    {{ form_label(form.remove_avatar) }}
</div>

フォームにさらにフィールドがある場合は、それらを同じ方法でレンダリングするか最後にform_rest(form).

これは、twig テンプレート内から symfony2 フォームをカスタマイズする方法です。だから私はこれが最善で最も簡単な方法だと思います。

于 2012-11-09T14:38:32.797 に答える