php - 如何在我的扩展树枝页面 (Symfony) 上使用变量?
问题描述
我用我的 Controller.php 将数据返回到我的树枝模板:
return $this->render('list.html.twig', ['page' => $page]);
在我的 list.html.twig 上,我可以输出我的变量:
{{page.name}}
但是我在 list.html.twig 上扩展了我的 base.html 树枝:
{% extends 'base.html.twig' %}
所以当我想在我的 base.html.twig 上输出我的变量时:
{{page.name}}
然后我收到错误消息:
未捕获的 PHP 异常 Twig_Error_Runtime:“变量“页面”不存在。” 在 /Users/work/project/templates/base.html.twig 第 70 行
解决方案
在你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
推荐阅读
- python - lldb python API FindFirstType("typename" 返回无
- javascript - 如何正确导入 Three.js OutlinePass jsm?
- powerbi - 计算每月注册和完成的学生人数
- wordpress - wordpress 小部件属性的问题
- docker - Docker Windows 客户端无法启动且系统托盘中没有图标
- java - localhost:8080,在 Spring Boot 应用程序中显示 404 错误
- javascript - JavaScript 替换在控制台中有效,但在网站上无效
- android - 任务 ':app:kaptDebugKotlin' 执行失败;在使用房间图书馆时
- c# - 在asp.net webform代码后面执行两个查询函数的问题
- networking - openstack octavia 无法构建计算实例