指示URL是否紧密到Twig中的当前控制器

时间:2015-12-13 16:40:51

标签: symfony twig

假设您使用的是Twig模板,并希望指示您是否在控制器上进行任何操作。

您可以检查单个路线的简单过程是

{% if app.request.attributes.get('_route') == 'app_user_list' %}
   // code...
{% endif %}

但是我需要使用通配符来确定操作是否在当前控制器下,如“app_user_ *”以匹配'app_user_add'或'app_user_delete'。 if-else所有可能的路线都不存在。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用doc:

中的slice Twig过滤器
  

切片过滤器用作数组和的array_slice PHP函数   对于具有回退到substr 的字符串,mb_substr

因此,您可以将一组路由与app_user_前缀(app_user_add,app_user_delete等)匹配的示例进行归档:

 {% if app.request.attributes.get('_route')|slice(0,9) == 'app_user_' %}
   // code...
 {% endif %}

希望这个帮助