[英]Twig render other controller from base view
我单独使用树枝,而不是从Symfony内部使用树枝。
我有基本布局base.html。 其他布局扩展了该布局,这似乎很好用。
如果我有一个控制器操作BlogPosts传递了一系列Blogpost,则将呈现Blog布局,该布局从基本布局扩展到可以看到该内容。 可以按预期工作
现在,我想将变量传递给基本模板,因此它在每个页面上都可见。 我怎样才能做到这一点?
我找到了这篇文章 ,但是提到它是为了symfony。 树枝本身没有渲染功能。
如果您使用的是没有symfony的树枝,则假定您的项目目录结构类似如下:
project
- templates
- base.html.twig
- index.html.twig
- vendor
- index.php
因此,您的index.php代码应类似于:
require_once 'vendor/autoload.php';
$loader = new Twig_Loader_Filesystem('templates', getcwd());
$twig = new Twig_Environment($loader);
echo $twig->render('index.html.twig', array('name' => 'Hello'));
因此,如果您想将一些变量传递给基本模板,则twig可以为全局使用添加值
require_once 'vendor/autoload.php';
$loader = new Twig_Loader_Filesystem('templates', getcwd());
$twig = new Twig_Environment($loader);
$twig->addGlobal('title', 'HomePage');
echo $twig->render('index.html.twig', array('name' => 'Hello'));
我希望这个帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.