我正在使用 symfony 2.8 和 twig 1.2,我想知道是否有办法为 twig 模板设置全局变量,如果有一个中心位置,我不想进入每个 twig 文件并更改值我可以设置变量值并在任何树枝文件中使用它,而不管它们在哪个目录中都很好。
截至目前,我正在parameters.yml文件中定义关键值
parameters:
client_name: 'naruto uzumaki'
Run Code Online (Sandbox Code Playgroud)
然后在控制器里面我有
<?php
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class MyController extends Controller
{
public function editAction()
{
$var = $this->container->getParameter('client_name');
return $this->render("UserBundle:edit:edit.html.twig", array('var' => $var));
}
}
Run Code Online (Sandbox Code Playgroud)
然后将它展示在树枝中,
<h1>Hello, {{ var }}</h1>
Run Code Online (Sandbox Code Playgroud)
我想避免在控制器中调用服务容器并直接访问client_name树枝文件中的值,任何帮助将不胜感激
是的,您可以,在您的配置文件中:
# app/config/config.yml
twig:
globals:
my_global_variable: '%client_name%'
Run Code Online (Sandbox Code Playgroud)
然后在 Twig 中:
{{ my_global_variable }}
Run Code Online (Sandbox Code Playgroud)
不要害怕在谷歌搜索解决方案,“树枝全局变量”的第一个结果是:
http://symfony.com/doc/current/cookbook/templating/global_variables.html
| 归档时间: |
|
| 查看次数: |
2814 次 |
| 最近记录: |