我试图覆盖标题栏的内容,但没有成功。情况就是这样。
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block pageTitle %}title{% endblock %}</title>
</head>
<body>
{% include 'header.html.twig' %}
<body>
<div id="wrapper">
<div id="page-wrapper">
........
{% extends 'layout.html.twig' %}
{% block pageTitle %}Users{% endblock %}
此时页面标题未按预期更改。我已经知道,当模板被包含在内时,无法更改块。 建议是使用嵌入代替。当我改变包含嵌入时我得到了
A template that extends another one cannot have a body in
任何想法如何管理它?
答案 0 :(得分:0)
问题可能来自layout.html.twig,你需要定义一个body块,即:
{% block body %}
<body>
<div id="wrapper">
<div id="page-wrapper">
[...]
{% endblock %}
答案 1 :(得分:0)
也许使用embeded
代替:
{% embed 'layout.html.twig' %}
{% block pageTitle %}Users{% endblock %}
{% endembed %}
答案 2 :(得分:0)
您无法覆盖已包含的块,只能扩展它们。
你可以通过改变你的架构来解决这个问题:
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block pageTitle %}title{% endblock %}</title>
</head>
<body>
{% block pageBody %}{% endblock %}
</body>
</html>
{% extends 'layout.html.twig' %}
{% block pageTitle %}Users{% endblock %}
{% block pageBody %}
<div id="wrapper">
<div id="page-wrapper">
(...)
</div>
</div>
{% endblock %}