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") }}

app.requestまた、フルスタック フレームワークで現在のリクエストにアクセスできる silex を使用していることにも注意してください。

于 2013-02-25T14:56:11.157 に答える