Twig模板 - 在所有模板中永久访问变量

8
我刚开始学习Twig,想知道如何完成以下操作。
我有一个变量$logged_in,需要在我的网站的每个页面中都可以访问。我希望不必每次在数据数组中传递此变量给twig渲染器,而是希望可以在某处声明它,并且每个模板都可以访问它。
我需要构建扩展程序来完成这个任务吗?或者这是否可行?我已经查阅了文档的每一页,但尝试像这里描述的扩展基本模板时遇到了麻烦... Twig Documentation | Recipes | Making the Templates aware of the Context 链接失效 这是正确的方法吗?
谢谢。

1
我成功地通过让我的应用程序在传递给Twig之前自动将数据添加到$data数组中来解决了这个问题。如果有一种方法可以在不必传递它们的情况下直接向Twig提供这些变量,我仍然很感兴趣。 - calumbrodie
1个回答

11

我刚在这篇博客中读到了有关1.0RC版本新功能的介绍,它们应该会有所帮助。

摘自博客文章:

全局变量:

PHP

// a global can be a constant
$twig->addGlobal('pi', 3.14);

// or any other valid PHP expression, like an object
$twig->addGlobal('request', new Request());

模板

{{ pi }}

{{ request.params('name') }}

谢谢提醒,已经足够了。 - calumbrodie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接