我使用Twig,在每个文件中都有一个带有一些变量的头文件。如何在每个文件中包含头文件而不总是调用变量?
我有一个文件,我扩展了layout。html。twig在这个布局中我扩展了header。html。twig
在header中,我有一些控制器发送的变量。但是只有当我转到头部视图时,变量才会被执行…
我怎么做包括标题视图与小枝?
尽管很难理解您到底在寻找什么,但您可能正在寻找一种设置全局变量的方法。
Twig globals
允许您设置全局变量。
# app/config/config.yml
twig:
# ...
globals:
variables: {}
如果你需要更多的静态变量,创建你自己的扩展:
<?php
namespace Example'CommonBundle'Twig;
use 'Doctrine'ORM'EntityRepository;
class TooltipsExtension extends 'Twig_Extension
{
protected $bookingsTooltip;
public function __construct(EntityRepository $bookingsTooltip)
{
$this->bookingsTooltip = $bookingsTooltip;
}
public function getGlobals()
{
return array(
'tooltips' => $this->bookingsTooltip->getTooltips(),
);
}
public function getName()
{
return 'tooltips';
}
}
注册小枝扩展:
# app/config/services.yml
example.tooltips_extension:
class: Example'CommonBundle'Twig'TooltipsExtension
public: false
arguments:
- @example.tooltips
tags:
- { name: twig.extension }
访问html中的变量:
{{ dump(tooltips) }}