如何在Symfony中自定义HTML form_errors

问题描述 投票:0回答:1

我想在Symfony 3中自定义form_errors的呈现方式,因为我想获取(在我的Twig模板中:

<div class="alert alert-danger">My error</div>

而不是:

<ul><li>My error</li></ul>

可能吗?

我尝试过这个:

{{ form_errors(form.name) ? '<div class="alert alert-danger">' ~ form_errors(form.name) ~ '</div>' : ''  }}

但是HTML不会被解释,而且可能不是很干净。。

这(供应商\ symfony \ symfony \ src \ Symfony \ Bridge \ Twig \ Resources \ views \ Form \ form_div_layout.html.twig第307行的恢复:] >>

我超载:

{%- block form_errors -%}
    {%- if errors|length > 0 -%}
    <ul>
        {%- for error in errors -%}
            <li>{{ error.message }}</li>
        {%- endfor -%}
    </ul>
    {%- endif -%}
{%- endblock form_errors -%}

通过:

{%- block form_errors -%}
{%- if errors|length > 0 -%}
<ul>
    {%- for error in errors -%}
        <li>{{ error.message }}</li>
    {%- endfor -%}
</ul>
{%- endif -%}
{%- endblock form_errors -%}

但是未定义变量“错误”

感谢您的帮助

我想在Symfony 3中自定义form_errors的呈现方式,因为我想获取(在我的Twig模板中):

我的错误而不是:
    <...>]]
] >

看看这个网站:

https://symfonycasts.com/screencast/symfony-forms/form-theme-create#play

您需要修改vendor / symfony / symfony / src / Symfony / Bridge / Twig / Resources / views / Form / bootstrap_3_layout.html.twig并搜索{%block form_errors-%}块进行修改。

您可以在这里查看更多信息:

https://codereviewvideos.com/course/beginner-s-guide-to-symfony-3-forms/video/styling-and-customising-using-form-fragments

但是这不是正确的方法,好的方法是通过将该块复制到另一个树枝模板中来覆盖此文件,对其进行修改,然后将该模板调用到页面的树枝模板中。

这里是解释:

https://symfonycasts.com/screencast/symfony-forms/form-theme-create#play

php symfony twig symfony-forms
1个回答
0
投票

看看这个网站:

https://symfonycasts.com/screencast/symfony-forms/form-theme-create#play

您需要修改vendor / symfony / symfony / src / Symfony / Bridge / Twig / Resources / views / Form / bootstrap_3_layout.html.twig并搜索{%block form_errors-%}块进行修改。

© www.soinside.com 2019 - 2024. All rights reserved.