2010-10-21 4 views
8

Acabo de empezar a buscar en Twig y me pregunto cómo conseguiría lo siguiente.Templating con Twig - acceso permanente a una variable en todas mis plantillas

Tengo una variable $ logged_in a la que necesito tener acceso en todas y cada una de las páginas de mi sitio, esperaba que en vez de pasar esto al ramitador todas las veces en la matriz de datos, hubiera una manera para que lo declare en alguna parte, y para que cada plantilla tenga acceso a él.

¿Necesito construir una extensión para lograr esto/o incluso es posible? He mirado a través de todas las páginas de la documentación, pero estoy teniendo problemas después de haber tratado de ampliar la plantilla de base como se describe aquí ...

Twig Documentation | Recipes | Making the Templates aware of the Contextvínculo roto

Es este el enfoque correcto?

Gracias

+1

logré evitar esto haciendo mi solicitud añadir los datos a la matriz $ data automáticamente antes de pasar a twi gramo. Todavía estaría interesado en saber si hay una forma de proporcionar estas variables para rastrearlas de forma nativa sin tener que pasarlas – calumbrodie

Respuesta

11

Sólo read sobre las nuevas funciones de la versión 1.0RC que debería ayudar.

tomada de la entrada de blog:

Globals:

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()); 

Plantilla

{{ pi }} 

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

que harán por mí :-) Gracias por el aviso. – calumbrodie

Cuestiones relacionadas