Php 带有参数的表单标签转换键

Php 带有参数的表单标签转换键,php,symfony,Php,Symfony,我在symfony2中有一个表单,我在其中添加了一个复选框,比如需要检查的“条款和条件”。我想添加一个指向“条款和条件”标签的链接,我想将其作为参数传递,比如说%url%,如下所示 messages.en.yml 所以问题是如何将url参数甚至一组参数添加到表单标签中 为了避免转义表单标签内的HTML,我覆盖了块标签,如下所示: {% block form_label %} {% if not compound %} {% set label_attr = label_a

我在symfony2中有一个表单,我在其中添加了一个复选框,比如需要检查的“条款和条件”。我想添加一个指向“条款和条件”标签的链接,我想将其作为参数传递,比如说%url%,如下所示

messages.en.yml

所以问题是如何将url参数甚至一组参数添加到表单标签中

为了避免转义表单标签内的HTML,我覆盖了块标签,如下所示:

{% block form_label %}
    {% if not compound %}
        {% set label_attr = label_attr|merge({'for': id}) %}
    {% endif %}
    {% if required %}
        {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
    {% endif %}
    {% if label is empty %}
        {% set label = name|humanize %}
    {% endif %}

    {# added raw to avoid HTML Escaping #}
    <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ label|trans({}, translation_domain)|raw }}</label>
{% endblock form_label %}
{%block form\u label%}
{%如果不是复合%}
{%set label_attr=label_attr|merge({'for':id})%}
{%endif%}
{%如果需要%}
{%set label_attr=label_attr | merge({'class':(label_attr.class | default(“”)~'required')| trim})%}
{%endif%}
{%如果标签为空%}
{%set label=name |人性化%}
{%endif%}
{#添加raw以避免HTML转义}
{{label | trans({},translation_domain){raw}
{%endblock form_label%}

我也有同样的问题

我没有时间深入研究更改标签呈现和使用表单字段中添加的参数作为翻译参数的可能性

但是,我的快速修复方法是手动呈现标签,并通过将其作为参数传递来更改标签:

{# custom twig extention to get the url for a page #}
{% set url = get_path_by_internal_name('tos', app.request.locale) %}
{{ form_label(terms, 'site.terms'|trans({'%url%': url})|raw) }}
{% block form_label %}
    {% if not compound %}
        {% set label_attr = label_attr|merge({'for': id}) %}
    {% endif %}
    {% if required %}
        {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
    {% endif %}
    {% if label is empty %}
        {% set label = name|humanize %}
    {% endif %}

    {# added raw to avoid HTML Escaping #}
    <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ label|trans({}, translation_domain)|raw }}</label>
{% endblock form_label %}
{# custom twig extention to get the url for a page #}
{% set url = get_path_by_internal_name('tos', app.request.locale) %}
{{ form_label(terms, 'site.terms'|trans({'%url%': url})|raw) }}