Página 1 de 1

Duda con Twig... No doy con la tecla...

Publicado: 04 Abr 2019, 02:40
por picaron
Pues eso, que no doy con la tecla... a ver si algún "Gurú" me ilumina... :shock: :cry:

¿Esto se puede hacer con Twig?

Código: Seleccionar todo

$this->language->lang('L_NAME', $var)
Porque esto no funciona...

Código: Seleccionar todo

$var ='Pepito';
$this->template->assign_vars(array(
'VAR' => $var
)
);
Y con Twig...

Código: Seleccionar todo

{{ lang('NAME', {{ VAR }}) }}
Resultado
Mi nombre es {{ VAR }} y soy un tipo majo.
No asigna correctamente la variable en la cadena del mensaje y ya no se donde mirar... :worried: :sweat: :call:
Any help please... (O.O) :angel:

Duda con Twig... No doy con la tecla...

Publicado: 04 Abr 2019, 07:06
por AbaddonOrmuz
El ejemplo que pones debería funcionar pero con una pequeña modificación:

Código: Seleccionar todo

{{ lang('NAME', VAR) }}
Siempre y cuando la llave NAME espere una cadena:

Código: Seleccionar todo

'NAME' => 'Mi nombre es %s y soy un tipo majo.'
Y la variable de plantilla VAR este definida antes de llamar la función lang()

La variables de plantilla no necesitan el par de llaves dobles cuando son parámetros de una función, ya que estas ({{ ... }} sólo imprimen su valor, colocarlas te debería arrojar error de sintáxis porque sería como si hicieras lo siguiente en PHP puro:

Código: Seleccionar todo

echo sprintf('Mi nombre es %s y soy un tipo majo.', echo 'nombre');
Lo cual daría error.

Duda con Twig... No doy con la tecla...  Tema Solucionado

Publicado: 04 Abr 2019, 20:05
por picaron
Efectivamente, he utilizado la palabra correcta... GURÚ...
¡¡ Perfecto, a funcionar !!!
Asi es...

Código: Seleccionar todo

{{ lang('NAME', VAR) }}
Gracias AbaddonOrmuz, no se me había ocurrido quitar los dobles corchetes a la variable VAR.
Marco como solucionado. :wink: