ピラミッドとカメレオンのテンプレートを使い始めたばかりです。
サイト メニューをレンダリングする次のコード例があります。
<li tal:repeat="menu view.site_menu">
<tal:block tal:condition="menu.current">
<span>${menu.title}</span>
</tal:block>
<tal:block tal:condition="not menu.current">
<span><a href="/${menu.href}">${menu.title}</a></span>
</tal:block>
</li>
リンクではなく、現在のページ メニュー項目を強調表示します。ブートストラップ ピル ナビゲーションを使用しようとしています。<li>
アクティブなページのタグに、条件付きで class="active" を追加する必要があります。
<li>
タグに tal:condition を追加してみました:
<li tal:repeat="menu view.site_menu" tal:condition="menu.current" class="active">
<a href="/${menu.href}">${menu.title}</a>
</li>
しかし、次のエラーが表示されます。
builtins.NameError
NameError: menu
- Expression: "menu.current"
- Filename: H:\eta\eta\eta\templates\global_layout.pt
- Location: (line 38: col 57)
- Source: ... .site_menu" tal:condition="menu.current" class="active">
^^^^^^^^^^^^
ここでの私の最善の推測は、タグ内menu
でのみ利用できるということです。tal:repeat
私が必要とすることを達成するための最良の方法は何ですか。