在symfony 2中的sitelayout中呈现不同的控制器视图

时间:2013-02-20 13:10:02

标签: symfony twig symfony-2.1

我有一个带侧边栏的布局。在侧边栏中,有一个用于显示类别列表的块。我已调用要在此块内呈现的控制器(获取类别列表)。以下是我的侧边栏的样子:

这是包含侧边栏的主要布局文件:

<!--  siteLayout.html.twig   -->
<div id="sidebar">
  {% block sidebarBlock1 %}
    {% render "TestBundle:Index:categoryList" %}
  {% endblock %}
</div>

TestBundle:Index:categoryList 从数据库中提取类别列表并返回如下:

<ul>
   <li><a href="/category/1">Category 1</a></li>
   <li><a href="/category/2">Category 2</a></li>
</ul>

我的所有其他观点都扩展了siteLayout.html.twig。我想要的是,当用户加载此网址“/ category / 1”时,我想将css类添加到li标签。

例如,如果有人点击/ category / 1,那么输出应为

<li class="active">.......</li>

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

<li  {% if app.request.attributes.get('_route') == 'category_view' %} 
         class="active" 
     {% endif %}>
</li>

如果路线与您的类别路线匹配,请检查路线并设置等级。将category_view替换为路径名称/ category

答案 1 :(得分:0)

   {%if app.request.server.get('REQUEST_URI')== path('viewCategoryItems', {'slugName': category.slugName})%} class="active"{%endif%}

这对我有用