2012-01-17 8 views
14

¿Es posible usar el filtro trans o la función de ruta dinámicamente? ¿Con variables como parámetros? EX1:Usar variables como teclas hash en twig (como parámetros en ruta() o | trans)

{{ path('object_edit', { parameter_type : parameter_value }) }} 

porque: No sé si "objeto" mediante DNI o babosa para el encaminamiento de

EX2:

{{message|trans({ parameter_type : parameter_value }, 'TranslationDomain') }} 

porque: i no sé si lo hará ser '% usuario%' o 'artículo%%' o algo más

Por qué esto funciona bien:

{{ path('object_edit', { 'id' : parameter_value }) }} 

pero esto no lo hace:

{{ set parameter_type = 'id' }} 
{{ path('object_edit', { parameter_type : parameter_value }) }} 

Respuesta

46
{% set key = 'foobar' %} 
{% set hash = { (key) : 'hello world' } %} 
{% debug hash %} 

impresiones:

array(1) { ["foobar"]=> string(11) "hello world" } 

envoltura entre paréntesis resuelve su problema.

+1

Impresionante, gracias! – ChocoDeveloper

+0

No muy claro y obvio, gracias por la sugerencia. Debe marcarse como respuesta aceptada. – Soullivaneuh

+0

¡Gracias, mutch! –

12

Encierre las teclas hash con paréntesis (no frenillos).

{{ path('object_edit', { (parameter_type) : parameter_value }) }} 
Cuestiones relacionadas