Twig 将可选块与细枝中的元素组合

Twig 将可选块与细枝中的元素组合,twig,Twig,在twig中定义基本模板时,我想使用块为特殊通知保留一个区域。它可以是一个额外的边栏,可以包含所有类型的内容(日历或一些额外的信息,等等)。默认值应该是emtpy,但任何子模板都可以扩展和填充它 现在,如果块被扩展,我希望所有这些扩展都包含在中,如果不包含,则不显示任何内容。有没有办法在基本模板中定义包含元素 {# Base template #} Content etc... {% block special %} {# may be overridden by child templ

在twig中定义基本模板时,我想使用块为特殊通知保留一个区域。它可以是一个额外的边栏,可以包含所有类型的内容(日历或一些额外的信息,等等)。默认值应该是emtpy,但任何子模板都可以扩展和填充它

现在,如果块被扩展,我希望所有这些扩展都包含在
中,如果不包含,则不显示任何内容。有没有办法在基本模板中定义包含元素

{# Base template #}    
Content etc...
{% block special %} {# may be overridden by child template #}{% endblock %}

{# child template #}
{% block special %} Here, the special sidebar is filled! {% endblock %}
基本页面应仅显示以下内容:

// base template:
Content etc...
和子页面:

// child template
Content etc...
<div class"special-sidebar"> Here, the special sidebar is filled! </div>
//子模板
内容等。。。
在这里,特殊的边栏被填满了!

我应该在哪里以及如何放置此html?我可以在每个孩子身上定义它,但这意味着你必须记住每次都要使用正确的html,我宁愿在基本模板中设置它,也不要麻烦它。但如果块未被覆盖,我不希望页面中出现空元素

如果只想在某个块有内容时显示它,可以这样解决。希望,这就是你要找的

示例index.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}
示例part.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}

来源:

如果您只想在某个块有内容时显示它,您可以这样解决它。希望,这就是你要找的

示例index.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}
示例part.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}

来源:

如果您只想在某个块有内容时显示它,您可以这样解决它。希望,这就是你要找的

示例index.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}
示例part.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}

来源:

如果您只想在某个块有内容时显示它,您可以这样解决它。希望,这就是你要找的

示例index.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}
示例part.html.twig

{% set _block = block('dynamic') %}
{% if _block is not empty %}
    {{ _block|raw }}
{% endif %}
{% extends "index.html.twig" %}

{% block dynamic %}
    Block content goes here.
{% endblock %}

来源:

这就是你要找的吗?我想是的!遗憾的是,没有一种方法可以更优雅一点,因为我认为,后来出现的人会有一些困难,立即掌握它,但谢谢!我加上它作为回答。这就是你要找的吗?我想是的!遗憾的是,没有一种方法可以更优雅一点,因为我认为,后来出现的人会有一些困难,立即掌握它,但谢谢!我加上它作为回答。这就是你要找的吗?我想是的!遗憾的是,没有一种方法可以更优雅一点,因为我认为,后来出现的人会有一些困难,立即掌握它,但谢谢!我加上它作为回答。这就是你要找的吗?我想是的!遗憾的是,没有一种方法可以更优雅一点,因为我认为,后来出现的人会有一些困难,立即掌握它,但谢谢!我加上它作为回答。