所以我搜索过,谷歌搜索,询问甚至咨询了星星,但我还没能找到解决这个问题的方法。
当覆盖FOSUserBundle表单(特别是更改密码表单,但通常是任何其他FOSUserBundle表单)时,有没有办法将字段标签的一部分设置为超链接?
这个问题有意义吗?我可以详细说明它是不是。
目标
我希望结果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>
我尝试了什么。 。
我已将has_acceptedtos
字段添加到User.php实体并按照the instructions连接到控制器。我成功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以生成我自己的表格之外,这甚至可以实现吗?
提前感谢任何建议!
答案 0 :(得分:0)
您必须使用custom form theming和Twig "raw" method的组合来完成此任务。
Here's an answer处理一个非常相似的问题。