2013-02-22 64 views
0
{% for node in menu.nodes %} 
<li><a href="{{ page_url(node,node.defaultParams) }}">{{ node.title }}</a></li> 
{% endfor %} 

是否有簡單的方法爲當前節點添加class =「active」? 謝謝。Symfony2 add menu active in menu

回答

2

我傾向於用宏解決它。它的工作原理是這樣的(在這裏直接輸入未經測試的代碼):

{% macro menuitem(route, params, text) %} 
{% set _url = path(route, params) %} 
    <li{% if _url == app.request.requesturi %} class="current"{% endif %}> 
    <a href="{{ _url }}">{{ text }}</a> 
    </li> 
{% endmacro %} 

此方法將添加當前類,如果你現在正在生成的路線是一個用戶請求。

對於比較簡單的使用導入它:{% from _self import menuitem %}

用法:{{ menuitem("blogpost", { "id": 1 }, "my first blogpost") }}

另外請注意,我用硅石,在當前請求是通過app.request訪問,在堆滿框架不知道它。