use*_*704 -1 symfony twig bootstrap-4 symfony4
对于我使用的 symfony 形式和树枝
{{ form_errors(form) }}
Run Code Online (Sandbox Code Playgroud)
使用bootstrap_4_horizontal_layout.html.twig,它工作正常,输出如下:
<span class="alert alert-danger d-block"><span class="d-block">
<span class="form-error-icon badge badge-danger text-uppercase">Error</span> <span class="form-error-message">Error</span>
</span></span>
Run Code Online (Sandbox Code Playgroud)
但我需要对其进行自定义以翻译消息旁边的引导错误标签。我可以在哪里定制它?
您可以而且可能应该编写自己的表单主题并覆盖该form_errors块以适应您的需求。作为参考:https://github.com/symfony/symfony/blob/537d373e0d8cb11fa70ddbe9559f2c4a741117a9/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig#L294
因此,要实现您自己的表单主题,您只需要有一个文件,比方说my_form_style.html.twig:
{% extends "bootstrap_4_horizontal_layout.html.twig" %}
{# override the blocks you want ... or add some, this is the original #}
{%- block form_errors -%}
{%- if errors|length > 0 -%}
<span class="{% if form is not rootform %}invalid-feedback{% else %}alert alert-danger{% endif %} d-block">
{%- for error in errors -%}
<span class="d-block">
<span class="form-error-icon badge badge-danger text-uppercase">{{ 'Error'|trans({}, 'validators') }}</span> <span class="form-error-message">{{ error.message }}</span>
</span>
{%- endfor -%}
</span>
{%- endif %}
{%- endblock form_errors %}
Run Code Online (Sandbox Code Playgroud)
然后你只需将表单主题设置为你的:
{% form_theme form "my_form_style.html.twig" %}
Run Code Online (Sandbox Code Playgroud)
享受
| 归档时间: |
|
| 查看次数: |
1393 次 |
| 最近记录: |