Mit Symfony2 Konfiguration
Wenn Sie Symfony2 verwenden, können Sie Globals in Ihrer config.yml
Datei gesetzt:
# app/config/config.yml
twig:
# ...
globals:
myStuff: %someParam%
Und dann {{ myStuff }}
überall in Ihrer Anwendung verwenden.
Mit Twig_Environment :: addGlobal
Wenn Sie Zweig verwenden in einem anderen Projekt, können Sie Ihre Globals direkt in die Umwelt gesetzt:
$twig = new Twig_Environment($loader);
$twig->addGlobal('myStuff', $someVariable);
Und dann verwenden {{ myStuff }}
überall in Ihrer Anwendung .
einen Zweig Erweiterung verwenden
Wenn Sie viele globale Variablen haben und wollen nur eine Reihe von Globals für einen bestimmten Teil Ihrer Anwendung angeben, können Sie einen Zweig Erweiterung erstellen:
class Some_Twig_Extension extends Twig_Extension implements Twig_Extension_GlobalsInterface
{
public function getGlobals()
{
return array(
'someStuff' => $this->myVar,
// ...
);
}
// ...
}
importieren sie dann in Ihrer Umgebung nur bei Bedarf:
$twig = new Twig_Environment($loader);
$twig->addExtension(new Project_Twig_Extension());
Und immer noch {{ myStuff }}
irgendwo in Ihrer Anwendung.
einen Zweig Vorlage
Wenn Sie ein Stück Zweig Code einschließlich sind, du bist, das nur die gerenderte Ansicht von diesem Code kommt, nicht der Code selbst. Aus diesem Grund ist es nicht möglich, eine Reihe von Variablen so zu speichern, wie Sie es wünschen.
möglich Duplikat von [Symfony 2 + Twig globale Variablen] (http://stackoverflow.com/questions/9263903/symfony-2-twig-global-variables) – pbenard