【问题标题】:Hyperlinks in FOSUserBundle form labelFOSUserBundle 表单标签中的超链接
【发布时间】: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


【解决方案1】:

您必须使用custom form themingTwig "raw" method 的组合来完成此操作。

Here's an answer 处理一个非常相似的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-03
    • 2014-10-15
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2016-05-02
    • 2014-02-04
    • 1970-01-01
    相关资源
    最近更新 更多