Tengo una plantilla Symfony2 Twig. Quiero generar el valor de un parámetro de configuración en esta plantilla de ramita (un número de versión). Por lo tanto, definí el parámetro de configuración de esta manera:
parameters:
app.version: 0.1.0
Puedo usar este parámetro de configuración en Controladores, pero no tengo idea de cómo obtenerlo en mi plantilla Twig.
symfony
configuration
twig
Timo Haberkern
fuente
fuente
Fácilmente, puede definir en su archivo de configuración:
Y accede a ella en tu plantilla con
De lo contrario, debe ser una forma con una extensión Twig para exponer sus parámetros.
fuente
También puede aprovechar el sistema de parámetros de servicio incorporado, que le permite aislar o reutilizar el valor:
Ahora, la variable ga_tracking está disponible en todas las plantillas de Twig:
El parámetro también está disponible dentro de los controladores:
También puede definir un servicio como una variable global Twig (Symfony2.2 +):
http://symfony.com/doc/current/templating/global_variables.html
Si la variable global que desea establecer es más complicada, digamos un objeto, no podrá usar el método anterior. En su lugar, deberá crear una extensión Twig y devolver la variable global como una de las entradas en el método getGlobals.
fuente
En versiones más nuevas de Symfony2 (usando un en
parameters.yml
lugar deparameters.ini
), puede almacenar objetos o matrices en lugar de pares clave-valor, para que pueda administrar sus globales de esta manera:config.yml (editado solo una vez):
parámetros.yml:
Y luego, en un archivo de ramita, puede usar
{{ project.version }}
o{{ project.name }}
.Nota: Personalmente no me gusta agregar cosas
app
, solo porque esa es la variable de Symfony y no sé qué se almacenará allí en el futuro.fuente
Las respuestas anteriores son correctas y funcionan bien. Solía de una manera diferente.
config.yml
app.yml
app_twig.yml
Controlador interno:
Plantilla interior / archivo de ramita:
Para usar la salida del controlador:
Controlador:
archivo de plantilla / ramita:
Mencioné los diferentes para entender mejor.
fuente
Con una extensión Twig, puede crear una
parameter
función Twig:TwigExtension.php:
service.yml:
fuente
Simplemente puede vincular el
$this->getParameter('app.version')
controlador a twig param y luego renderizarlo.fuente
En confing.yml
En vista de ramita
fuente