我使用Controller.php将数据返回到我的树枝模板:
return $this->render('list.html.twig', ['page' => $page]);
在我的list.html.twig上,我可以输出变量:
{{page.name}}
但是我将base.html树枝延伸到list.html.twig上:
{% extends 'base.html.twig' %}
因此,当我想将变量输出到base.html.twig上时:
{{page.name}}
然后我收到错误消息:
未捕获的PHP异常Twig_Error_Runtime:“变量”页面不存在 存在。”位于/Users/work/project/templates/base.html.twig第70行
答案 0 :(得分:2)
在您的base.html.twig
上添加
{% block page %}{% endblock page %}
然后在list.html.twig
上添加{% block page %}{{page.name}}{% endblock page %}
因此您可以拥有一个base.html.twig
这样的文件
<html>
<body>
<h1>{% block page %}{% endblock page %}
<p>{% block content%}{% endblock content %}</p>
</body>
</html>
和类似的list.html.twig
{% extends 'base.html.twig' %}
{% block page %}{{ page.name }}{% endblock page %}
{% block content %}errything else for page here{% endblock content %}
,它将是有效的,并且将通过继承覆盖base.html.twig的页面块。
添加了一个twigfiddle示例 https://twigfiddle.com/d1hmo9