{% for node in menu.nodes %}
<li><a href="{{ page_url(node,node.defaultParams) }}">{{ node.title }}</a></li>
{% endfor %}
是否有一种简单的方法可以为当前节点添加class =“active”? 感谢。
答案 0 :(得分: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") }}
另请注意,我正在使用silex,其中当前请求可以通过app.request
访问,在完整堆栈框架中不确定。