我想在樹枝中的if條件中使用過濾器。原因是Symfony2屬性,我不能直接比較,我必須事先改變它。我已經開始使用此代碼:樹枝:在if條件中過濾
{% if app.request.attributes.get('_controller')|split('::')|first == 'some\controller\name' %}
do something
{% endif %}
不幸的是這不起作用。所以我以爲我會在比較之前用套裝:
{% set controller = app.request.attributes.get('_controller')|split('::')|first %}
{% if controller == 'some\controller\name' %}
do something
{% endif %}
{{ controller }} {# would print 'some\controller\name' #}
猜猜是什麼? 「做某事」不會被打印,即使變量控制器現在存在並且具有我與它比較的值。我究竟做錯了什麼?
您在查看有太多的邏輯,我的邏輯移動到控制器。使視圖簡單,測試也更容易。 – 2013-03-07 22:39:11
當我在視圖中可以有一個邏輯表達式時,我無法在控制器的每個動作中始終爲模板分配相同的值。這只是結束於容易出錯的重複... – bekay 2013-03-07 22:46:21
它應該工作...你確定不要在你的網頁上使用緩存嗎? – Sybio 2013-03-07 22:46:45