如何确定我目前在Lift中的页面?
例如,在django中,在我的基本模板中,我进行了简单的检查:
<li {% ifequal main_navigation "home" %} class="selected"{%endifequal%}>
<a href="{% url home %}">Home</a>
</li>
<li {% ifequal main_navigation "risk"%}class="selected"{%endifequal%}>
<a href="{% url risk %}">Risk</a>
</li>
<li {% ifequal main_navigation "contact" %}class="selected"{%endifequal%}>
<a href="{% url contact %}">Contact</a>
</li>
这里, if 确定上下文变量 main_navigation 的设置。
答案 0 :(得分:5)
我假设您正在使用网站地图作为菜单。
使用Menu.builder代码段渲染菜单时,您可以使用其他参数来进一步调整菜单。此示例将仅呈现菜单的第一级,并将类当前添加到菜单项(如果它是当前页面)。
设计师友好的例子:
<div class="lift:Menu.builder?level=0;expand=false;li_item:class=current"></div>
或
<lift:Menu.builder li_item:class="selected" level="0" expand="false" />
有关详细信息,请参阅电梯维基:http://www.assembla.com/wiki/show/liftweb/SiteMap
答案 1 :(得分:1)
如果您使用Lift的SiteMap和菜单功能,我认为这是自动处理的。您可以在此处阅读:http://simply.liftweb.net/index-3.2.html#toc-Subsection-3.2
要回答更广泛的问题,请在Snippet(非模板)中使用LiftRules.context,它返回包含路径属性的HTTPContext。