作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想覆盖要在 Twig 中使用的基础模板。
我用过这个
twig:
form:
resources:
- 'form_div_layout.html.twig'
并且我已将文件从原始位置复制到app/resources/views/Form/form_div_layout.html.twig
但我仍然看不到模板渲染的变化。
基本上我只想在生成的DIV框中添加类
{% block form_widget_compound %}
{% spaceless %}
<div class="MYCLASS"
{{ block('widget_container_attributes') }}>
{% if form.parent is empty %}
{{ form_errors(form) }}
{% endif %}
{{ block('form_rows') }}
{{ form_rest(form) }}
</div>
{% endspaceless %}
{% endblock form_widget_compound %}
我还需要做任何改变吗?
最佳答案
如果您只想自定义一个字段,则无需复制整个文件。这样做:
如果您只想对一个模板执行此操作,请将其添加到您的模板中:
{% form_theme form _self %}
{% block form_widget_compound %}
{% spaceless %}
<div class="MYCLASS" >
{{ block('widget_container_attributes') }}>
{% if form.parent is empty %}
{{ form_errors(form) }}
{% endif %}
{{ block('form_rows') }}
{{ form_rest(form) }}
</div>
{% endspaceless %}
{% endblock form_widget_compound %}
如果您想在多个模板中对其进行自定义,请执行以下操作:使用以下代码在您的包中创建一个模板文件:
{# src/Acme/DemoBundle/Resources/views/Form/fields.html.twig #}
{% block form_widget_compound %}
{% spaceless %}
<div class="MYCLASS" >
{{ block('widget_container_attributes') }}>
{% if form.parent is empty %}
{{ form_errors(form) }}
{% endif %}
{{ block('form_rows') }}
{{ form_rest(form) }}
</div>
{% endspaceless %}
{% endblock form_widget_compound %}
然后在您要使用此自定义字段的那些模板中,执行:
{% form_theme form 'AcmeDemoBundle:Form:fields.html.twig' %}
如果您希望此自定义在 bundle 的所有模板中可用,请将其添加到您的配置文件中:
# app/config/config.yml
twig:
form:
resources:
- 'AcmeDemoBundle:Form:fields.html.twig'
如果您希望所有 bundle 都可以使用此文件,请将此文件复制到
app/Resources/AcmeDemoBundle/views/Form/fields.html.twig
关于php - 如何覆盖 "form_div_layout"基本模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243021/
我想覆盖要在 Twig 中使用的基础模板。 我用过这个 twig: form: resources: - 'form_div_layout.html.t
我是一名优秀的程序员,十分优秀!