1

私のページには2つのフォームがあります。1つはFOSUserBundleのログインフォームで、もう1つはFOSUserBundleの登録フォームです。

フォームラベルのデフォルト値を変更したいと思います。たとえば、「fos_user_registration_form_plainPassword_first」を次のように変更するのが好きです

fos_user_registration_form_plainPassword_first: "Password:"

ログインフォームにこれを持っています(同じFOSUserBundle.en.ymlファイルにあります)

security:
    login:
        username: "Username"
        password: "Password"
        remember_me: Remember mee
        submit: Loginn

ログインフォームのラベルが変更されているのに、登録フォームのラベルが変更されていないのはなぜですか?私が見る唯一の違いは、登録フォームが次のようにレンダリングされることです

{{ form_widget(form) }}

ログインフォームには、次のように各フィールドが手動で表示されます。

<label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>

// 編集

RegistrationFormを上書きしました。また、元のFOSUserBundle.en.ymlファイルで構成されたラベルがフォームに表示されないことにも気づきました。ラベルは「Username」と表示されますが、ymlファイルでは「Username:」と表示されます(二重点記号付き)

4

1 に答える 1

0

解決しました。FOSUserBundle/Resources/Views の form.html.twig には、すべてのラベルに対して trans 関数を呼び出す小さなフォーム テーマ ハックがあります。この行をオーバーライドされた register_content.html.twig ファイルに入れる必要がありました

{% form_theme form theme %}
于 2012-07-07T09:01:01.073 に答える