【发布时间】:2014-08-08 21:55:16
【问题描述】:
我想将 twig 插入需要在基础中包含一些基于会话的数据的应用程序中。例如,客户端的当前时区显示在页脚中。单个控制器知道这一点是没有意义的,因为这与他们无关;但另一方面,他们选择并填充视图:
class MyController
{
public function index()
{
$template = $this->twig->loadTemplate('myPageTemplate.html.twig');
return $template->render($dataArray);
}
}
在选择视图之前,是否有一些格式良好的方法可以将数据对象传递给 twig,并使其可用于基本模板?在启动 Twig_Environment 并将其传入时你会做什么?
【问题讨论】:
-
你可以使用 {{ session.name }}
-
如果它有效的话,它似乎会从一个超级全球拉出来
-
app.session.get('Name'),抱歉 :) 你也可以使用 $twig->addGlobal('session', $_SESSION); 将其注册为全局变量;虽然
-
你可以创建一个自定义的 twig 函数并在任何你想要的地方调用它,比如
{{ your_function() }}。
标签: php symfony twig template-inheritance