Я только начинаю работать с шаблонами пирамид и хамелеонов.
У меня есть следующий пример кода, который отображает меню сайта.
<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>
Он выделяет элемент меню текущей страницы, не делая его ссылкой. Я пытаюсь использовать навигацию по пилюлям начальной загрузки. Мне нужно условно добавить class="active" к тегу <li>
активной страницы.
Я попытался добавить tal:condition к тегу <li>
:
<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
.
Каков наилучший способ выполнить то, что мне нужно.