[英]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.