簡體   English   中英

Twig從基本視圖渲染其他控制器

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM