1

我的页面上有 2 个表格。一个是 FOSUserBundle 的登录表单,另一个是 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 文件中配置的标签。我看到标签为“用户名”,而在 yml 文件中它被放置为“用户名:”(带有双点符号)

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 回答