如果你正在做任何塊以外的事情,這些東西被認爲是你的樹枝文件的主體。正如例外清楚地表明的那樣,如果您要擴展樹枝模板,則需要覆蓋擴展文件中包含的某些塊,而不需要任何主體。
之前您應該使用{% extends %}
標籤,因爲擴展已包含內容。該包裝的「base.html.twig」文件就是一個很好的例子:你把將在base.html.twig文件到處被使用在應用程序代碼:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel="shortcut icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}{% endblock %}
</body>
</html>
對於你的情況,你可以添加一個{% block head %}{% endblock %}
在body block之上,然後在你的index.html.twig文件中,你會覆蓋這個塊來完成它。
{% extends '::base.html.twig' %}
{% block head %}
<li class="active"><a href="#login">Login</a></li>
{% endblock %}
這將最終輸出:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome!</title>
<link rel="shortcut icon" href="/favicon.ico" />
</head>
<body>
<li class="active"><a href="#login">Login</a></li>
</body>
</html>
結論
extends
和include
之間的區別是,你能夠從擴展文件覆蓋塊,在那裏你可以」 t使用include
包括它。
你能提供一些細節嗎? 'header.html.twig'看起來像什麼?你到底想要覆寫什麼? – SirDerpington