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

有没有一种简单的方法可以为当前节点添加一个 class="active" ?谢谢。

4

1 回答 1

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,不确定是否在全栈框架中。

于 2013-02-25T14:56:11.157 回答