如何在树枝儿童模板中使用块,它不扩展基本布局?

时间:2017-06-25 00:58:13

标签: symfony twig

我想了解如何在子模板中使用块标记,该子模板包含在扩展基本模板的另一个html文件中。

index.html 中,正在包含 nav.html ,而在 nav.html 中我包含了一个块使用javascript标记菜单,但它没有传递到 base.html

base.html文件

<!DOCTYPE html>
<html>
<head>
{% block head%}{% endblock %}
<title>{% block title %}{% endblock %}</title>
</head>
<body>

{% block header %}{% endblock %}

{% block body %}{% endblock %}

{% block footer %}{% endblock %}

{% block javascript %}{% endblock %}

</body>
</html>

indexhtml

{% extends "base.html" %}

{% block head %}
    <link rel="stylesheet" href="/css/home.css" />
{% endblock %}

{% block title %}Homepage{% endblock %}

{% block body %}
    {% include "nav.html" %} //here I am including the nav.html

    Nav is above here

{% endblock %}


{% block footer %}
    This is the footer block
{% endblock %}

nav.html

<header>
    <nav>
        <ul>
            <li>Homepage</li>
            <li>User account</li>
        </ul>
    </nav>
</header>

{% block footer %}
    <script src="/js/dropdownmenu.js"></script>
{% endblock %}

2 个答案:

答案 0 :(得分:0)

在子模板中,您不能在块外部使用HTML,您需要在某个块内的nav.html中移动HTML代码

答案 1 :(得分:-1)

您可能会包含另一个使用块扩展模板的树枝模板:

https://twig.sensiolabs.org/doc/2.x/tags/include.html