我想在树枝中的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