Uso della configurazione di Symfony2
Se si utilizza Symfony2, è possibile impostare globali nel file config.yml
:
# app/config/config.yml
twig:
# ...
globals:
myStuff: %someParam%
e quindi utilizzare {{ myStuff }}
ovunque nella vostra applicazione.
Utilizzando Twig_Environment :: addGlobal
Se si utilizza Twig in un altro progetto, è possibile impostare le variabili globali direttamente nell'ambiente:
$twig = new Twig_Environment($loader);
$twig->addGlobal('myStuff', $someVariable);
e quindi utilizzare {{ myStuff }}
ovunque nella vostra applicazione .
Utilizzando un'estensione Twig
Se hai un sacco di variabili globali e desidera specificare un insieme di variabili globali per una particolare parte della vostra applicazione solo, è possibile creare un'estensione Twig:
class Some_Twig_Extension extends Twig_Extension implements Twig_Extension_GlobalsInterface
{
public function getGlobals()
{
return array(
'someStuff' => $this->myVar,
// ...
);
}
// ...
}
quindi importarlo nel proprio ambiente solo quando richiesto:
$twig = new Twig_Environment($loader);
$twig->addExtension(new Project_Twig_Extension());
E utilizzare ancora {{ myStuff }}
in qualsiasi punto dell'applicazione.
Utilizzo di un modello Twig
Quando si è compreso un pezzo di codice Ramoscello, tra cui il gioco è solo la vista resa provenienti da tale codice, non il codice stesso. Pertanto, per impostazione non è possibile includere un insieme di variabili nel modo in cui si sta cercando.
fonte
2015-03-10 08:32:55
possibile duplicato di [variabili globali di Symfony 2 + Twig] (http://stackoverflow.com/questions/9263903/symfony-2-twig-global-variables) – pbenard