Forms Symfony2表格_标签原始

Forms Symfony2表格_标签原始,forms,symfony,twig,Forms,Symfony,Twig,我想呈现原始翻译,所以我决定在细枝模板中使用您的“原始”选项。但它不起作用。例如: {{ form_label(form.sfGuardUserProfile.roules_acceptance) | raw }} 在我的网站上,我将看到: Accept the <a href="url_to_pdf">terms</a> 接受 我不想看到HTML代码,我想看到链接。如何显示表单的原始标签?阅读此处: 如果字段的名称为product[name],则可以仅为单个字段覆

我想呈现原始翻译,所以我决定在细枝模板中使用您的“原始”选项。但它不起作用。例如:

{{ form_label(form.sfGuardUserProfile.roules_acceptance) | raw }}
在我的网站上,我将看到:

Accept the <a href="url_to_pdf">terms</a>
接受
我不想看到HTML代码,我想看到链接。如何显示表单的原始标签?

阅读此处:

如果字段的名称为product[name],则可以仅为单个字段覆盖标签块:

{% block _product_name_label %}
     <label>{{ label|raw }}</label>
{% endblock %}
因此,渲染引擎将首先搜索同一文件中被覆盖的块

如果使用完整堆栈框架,可以在\vendor\symfony\symfony\src\symfony\Bridge\Twig\Resources\views\Form\Form\u div\u layout.html.Twig中找到默认模板文件。

我也尝试了以下方法:

但它不起作用。为什么?因为在使用form\u label()函数时,Symfony使用\vendor\Symfony\Symfony\src\Symfony\Bridge\Twig\Resources\views\form\form\u div\u layout.html.Twig和此块:

    {% block form_label %}
    {% spaceless %}
        {% if label is not sameas(false) %}
            {% 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 %}
            <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ label|trans({}, translation_domain) }}</label>
        {% endif %}
    {% endspaceless %}
    {% endblock form_label %}
但原始选项将在form_div_layout.html.twig中被覆盖。最后,我决定这样做:

{{ 'form.roules_acceptance'| trans | raw }}

由于我希望保持form_div_布局的行为,因此我以以下内容结束:

{%- block form_label -%}
    {% set label %}{{ label|raw }}{% endset %}
    {{ parent() }}
{%- endblock -%}
这样,扩展版本就可以正确地处理翻译了:

{% use 'form_div_layout.html.twig' %}

{%- block form_label -%}
    {# Set label to raw label #}
    {% if label is not same as (false) %}
        {% set label %}
            {%- if translation_domain is same as (false) -%}
                {{ label|raw }}
            {%- else -%}
                {{- label|trans({}, translation_domain)|raw }}
            {%- endif -%}
        {% endset %}
    {%- endif -%}

    {# Avoid call of translation again %}
    {% set translation_domain = false %}

    {# Call default behaviour from form_div_layout.html.twig #}
    {{- parent() -}}
{%- endblock -%}

您是否添加了预期的输出?为什么不直接使用
form\u label
?因为在我的翻译中,我有pdf格式的术语链接,这个链接是转义的,你不能点击,因为你在网站上看到html代码。我想要的是链接而不是html代码。我不确定我理解你做了什么?我编辑了我的帖子,如果不解释你不理解的内容,也许会有帮助。我会尽力帮忙的。
{{ form_label(form.sfGuardUserProfile.roules_acceptance) | raw }}
{{ 'form.roules_acceptance'| trans | raw }}
{%- block form_label -%}
    {% set label %}{{ label|raw }}{% endset %}
    {{ parent() }}
{%- endblock -%}
{% use 'form_div_layout.html.twig' %}

{%- block form_label -%}
    {# Set label to raw label #}
    {% if label is not same as (false) %}
        {% set label %}
            {%- if translation_domain is same as (false) -%}
                {{ label|raw }}
            {%- else -%}
                {{- label|trans({}, translation_domain)|raw }}
            {%- endif -%}
        {% endset %}
    {%- endif -%}

    {# Avoid call of translation again %}
    {% set translation_domain = false %}

    {# Call default behaviour from form_div_layout.html.twig #}
    {{- parent() -}}
{%- endblock -%}