【发布时间】:2014-04-29 02:30:20
【问题描述】:
所以我已经搜索、谷歌搜索、询问甚至咨询了星星,但我无法找到解决这个特定问题的方法。
当覆盖 FOSUserBundle 表单时(特别是 Change Password 表单,但通常是任何其他 FOSUserBundle 表单),有没有办法将字段 label 的一部分设置为超链接?
这个问题有意义吗?如果没有,我可以详细说明。
目标
我希望生成的 HTML 看起来像这样:
<div>
<label for="fos_user_resetting_form_has_acceptedtos">I agree to the <a href='/tos/'>Terms Of Service</a>.</label>
<input id="fos_user_resetting_form_has_acceptedtos" type="checkbox" value="1" name="fos_user_resetting_form[has_acceptedtos]">
</div>
我已经尝试过了。 . .
按照the instructions,我已将has_acceptedtos 字段添加到User.php 实体并连接到控制器。我已经成功customized the field labels。
不幸的是,下面的语法也不起作用:
# app/Resources/FOSUserBundle/translations/FOSUserBundle.en.yml
# ...
# Password change
change_password:
submit: Change password
has_acceptedtos: I agree to the <a href='/tos'>Terms Of Service</a>.
...
我什至试图覆盖模板,试图通过 css 人为地创建一个出现在复选框附近的标签。效果不太好。
除了重写整个 FOSUserBundle 来生成我自己的表单之外,这还能实现吗?
提前感谢您的任何建议!
【问题讨论】:
-
您生成的 html 看起来如何?
-
和我的意图完全一样,除了“服务条款”周围的 标签
-
正如彼得在下面回答的那样,您需要覆盖您的模板并在呈现标签时使用
raw过滤器。
标签: forms symfony customization labels