【问题标题】:How to custom HTML form_errors in Symfony如何在 Symfony 中自定义 HTML form_errors
【发布时间】:2017-04-13 12:30:49
【问题描述】:

我想在 Symfony 3 中自定义 form_errors 的渲染,因为我想获得(在我的 Twig remplate 中):

<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 没有被解释,它可能不是很干净..

还有这个(recovery of vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\views\Form\form_div_layout.html.twig line 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 -%}

但是变量“error”没有定义

提前感谢您的帮助

【问题讨论】:

标签: php symfony twig symfony-forms


【解决方案1】:

看看这个网站:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多