gpt4 book ai didi

symfony - Twig :{% block %} 并扩展

转载 作者:行者123 更新时间:2023-12-01 23:14:53 27 4
gpt4 key购买 nike

我正在尝试覆盖文件 (index.html.twig) 中的 {% block %},该文件扩展了使用该 block 的文件 (base.html.twig)。但扩展文件包含另一个 twig 文件 (feature.twig),其中放置了覆盖 index.html.twig 中内容的 block 。这有可能吗?也许除了 include 语句之外还有其他东西?

{# index.html.twig #}
{% extends 'base.html.twig' %}
{{ include('feature.html.twig') }}

{# base.html.twig #}
{% block extraJs %}{% endblock %}

{# feature.html.twig #}
{% block extraJs %}<script>$('...');</script>{% endblock %}

最佳答案

include - 函数(或标签)仅嵌入渲染结果。无法操作包含文件中的 block 。

但就你的情况而言,这是没有必要的。因为 index.html.twig 扩展了 base.html.twig,所以您可以像这样覆盖 extraJs block :

{# index.html.twig #}
{% extends 'base.html.twig' %}

{% block extraJs %}
{{ include('feature.html.twig') }}
{% endblock }
<小时/>

如果需要,您可以使用 parent扩展原始 block 。 -功能。例如:

{# index.html.twig #}
{% extends 'base.html.twig' %}

{% block extraJs %}
{{ parent() }} {# `extraJs`-block content from `base.html.twig` #}
{{ include('feature.html.twig') }}
{% endblock }

关于symfony - Twig :{% block %} 并扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39002094/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com