Symfony 使用细枝同时使用3个模板

Symfony 使用细枝同时使用3个模板,symfony,twig,Symfony,Twig,我在组装3个小树枝模板时遇到问题,分别是{%extends%}和{%use%} 多亏了{%extends%},我知道如何组装两个模板,但我不知道如何添加第三个模板。我有两种不同类型的错误: 检测到小枝模板“home.html.Twig”的循环引用,路径: home.html.twig->twtts.html.twig->home.html.twig 或 模板“twtts.html.twig”不能用作特征。 我不明白这是怎么回事: {# home.html.twig #} {% extend

我在组装3个小树枝模板时遇到问题,分别是
{%extends%}
{%use%}

多亏了
{%extends%}
,我知道如何组装两个模板,但我不知道如何添加第三个模板。我有两种不同类型的错误:

检测到小枝模板“home.html.Twig”的循环引用,路径:
home.html.twig->twtts.html.twig->home.html.twig
或
模板“twtts.html.twig”不能用作特征。

我不明白这是怎么回事:

{# home.html.twig #}

{% extends 'layout.html.twig' %}
{% use 'twtts.html.twig' %}
{% block assets %}
<script src="/assets/js/actions.js"></script>
{% endblock %}
{% block page_title %}Twttr | Home{% endblock %}

{% block content %}
<div class="container d-flex">
    <div class="col-md-3"></div>
    <div class="col-md-6">
        <table class="table col-md-6 mt-5" id="twtts">
            {% block twtts %}
            {% endblock %}
        </table>
    </div>
    <div class="col-md-3"></div>
</div>
{% endblock %}

{% extends 'layout.html.twig' %}
{home.html.twig}
{%extends'layout.html.twig%}
{%use'twtts.html.twig%}
{%block assets%}
{%endblock%}
{%block page_title%}Twttr|Home{%endblock%}
{%block content%}
{%block twtts%}
{%endblock%}
{%endblock%}
{%extends'layout.html.twig%}
_

{twtts.html.twig}
{%block twtts%}
{twtts%中的twtt为%0}
{%如果twtt.rt_author_name不是null%}
{{twtt.rt_author_name}}rtwtted:
{%endif%}
{%if twtt.rt_author_name非空%}{{twtt.post_time|date(“d/m/Y H:i”)}{%else%}{{{twtt.date|date(“d/m/Y H:i”)}{%endif%}
{{twtt.content}nl2br}

{{twtt.rtwtts} {{twtt.favs}} {%endfor%} {%endblock%}
_

{layout.html.twig}
{%block页面\标题%}{%endblock%}
{# ... #}
{%block assets%}{%endblock%}
{%block content%}{%endblock%}

当文件
twtts.html.twig
home.html.twig
中时,它曾经工作过,但由于我将在许多其他页面中重复使用它,我试图缩短它,并为该模板创建一个文件。

如果您想简单地呈现
twtts.html.twig
中的内容,您应该使用
包含

{# home.html.twig #}

{% extends 'layout.html.twig' %}
....

{% block content %}
<div class="container d-flex">
    <div class="col-md-3"></div>
    <div class="col-md-6">
        <table class="table col-md-6 mt-5" id="twtts">
{home.html.twig}
{%extends'layout.html.twig%}
....
{%block content%}

{%include'twtts.html.twig%}我已根据您的场景更新了答案。谢谢谢谢如果我必须添加
{%include'twtts.html.twig%}
的那一行被明确告知,将其包含在正确的位置,而不是文档的顶部,您的答案会更清楚。是的,感谢您的建议,通过突出显示include语句更新了答案。
{# layout.html.twig #}


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{% block page_title %}{% endblock %}</title>
  {# ... #}
  {% block assets %}{% endblock %}
</head>
<body>
  <main>
    <div class="container">
      {% block content %}{% endblock %}
    </div>
  </main>
</body>
</html>
{# home.html.twig #}

{% extends 'layout.html.twig' %}
....

{% block content %}
<div class="container d-flex">
    <div class="col-md-3"></div>
    <div class="col-md-6">
        <table class="table col-md-6 mt-5" id="twtts">
        </table>
    </div>
    <div class="col-md-3"></div>
</div>
{% endblock %}