2012-01-17 5 views
14

Можно ли использовать транс-фильтр или функцию пути динамически? С переменными как параметры? EX1:Использование переменных в качестве хеш-ключей в ветке (в качестве параметров в пути() или | транс)

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

потому что: я не знаю, если «объект», используя идентификатор или слизняка для маршрутизации

ех2:

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

потому что: я делать, если он не будет знать, быть '% пользователей%' или '% статью%' или что-то еще

Почему это работает отлично:

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

, но это не делает:

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

ответ

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

печатает:

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

обертывание в круглых скобках решает вашу проблему.

+1

Awesome, спасибо! – ChocoDeveloper

+0

Не очень понятно и понятно, спасибо за наконечник. Должен быть отмечен как принятый ответ. – Soullivaneuh

+0

Большое спасибо! –

12

Заменить ключи хеша с скобками (не скобки).

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

 Смежные вопросы

  • Нет связанных вопросов^_^