¿cómo puedo asignar variables a la carpeta del template?
Respuestas
Me temo que no entiendo bien tu pregunta. ¿Quieres pasar variables a una plantilla Twig? ¿Quieres guardar en una variable la ruta de la carpeta donde se guardan las plantillas? ¿Quieres hacer configurable la carpeta en la que se guardan las plantillas?
@javiereguiluz
declarar una variable y que este disponible en todas las plantillas
@cvfm27
Lo que quieres hacer se llaman "variables globales". Si usas Twig como una librería independiente, define esas variables con el método addGlobal()
:
$twig = new Twig_Environment($loader); // ... $twig->addGlobal('nombre_variable', 'valor_variable');
Las variables pueden ser simples (cadenas, números, arrays) y también objetos con los que puedes invocar métodos en tus plantillas.
Si usas Twig dentro de un framework como Symfony, entonces solo tienes que declarar estas variables en la opción de configuración twig.globals
:
# app/config/config.yml twig: # ... globals: nombre_variable: valor_variable
@javiereguiluz
Gracias Javier.
@cvfm27
Tengo una duda. ¿se puede asignar una variable sin array?
$template = $twig->loadTemplate('layout_index.html'); echo $template->render(array('t' => 'variable'));
@cvfm27
La variable no tiene por qué ser un array, pero lo que pases al método render()
sí que tiene que ser un array. La razón es que las variables necesitan tener un nombre y un valor, por eso se usan arrays asociativos.
@javiereguiluz