在xpage上我有一个导航栏。 在此导航栏上,您应该显示您所在的页面。 如何计算并将此类放入正确的li
我尝试了以下不起作用:
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active">
<xp:text escape="false" id="computedField1">
<xp:this.value><![CDATA[#{javascript:active = @RightBack(view.getPageName(),'/');
main ="<a href='product.xsp'>PRODUCTS</a>";
home ="<a href='home.xsp'>HOME</a>";
if (active =="product.xsp"){
return main
}
else {
return home
}}]]></xp:this.value>
</xp:text>
</li>
<li>
<a href="#">NEXT LINK</a>
</li>
<li>
<a href="#">ANOTHER LINK</a>
</li>
</ul>
</div>
实际上我想计算课程。 当我在HOME页面上时,HOME链接应该使课程处于活动状态。 当我在产品页面上时,HOME链接应该成为正常的li并且产品li应该获得活动类li。
我该如何计算课程?
据我所知,SSJS中没有增加课程的可能性?
答案 0 :(得分:2)
您可以计算直通标记的属性,但您无法使用&#34;此。&#34;他们的符号。对于这种事情,我经常这样做:
<li class="${view.pageName == '/home.xsp' ? 'active' : ''}">...</li>
<li class="${view.pageName == '/products.xsp' ? 'active' : ''}">...</li>
答案 1 :(得分:0)
Marc - 我想知道这是否适合你。
在所有属性下的XPage中,您可以向页面添加属性。理论上,这些与自定义控件上的自定义属性类似。所以我想也许你可以添加一个名为&#34; selectedMenu&#34;的属性。并为其指定要突出显示的项目名称的值。
然后在导航栏自定义控件中添加一些代码以获取属性,然后将正确的类添加到所需的navBar菜单项。
我以前从未使用过像这样的XPage属性,但有人在工作。我认为迈克用他们做的事与你实际想要做的事情类似。
我发现了另一个SO问题,讨论了如何访问这些属性。
Getting properties/parameters from page level
这可能是一个很好的方法。