{% for node in menu.nodes %}
<li><a href="{{ page_url(node,node.defaultParams) }}">{{ node.title }}</a></li>
{% endfor %}
有没有一种简单的方法可以为当前节点添加一个 class="active" ?谢谢。
我倾向于用宏来解决它。它是这样工作的(直接在这里输入未经测试的代码):
{% 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
,不确定是否在全栈框架中。