Part of my application is nodeID driven, therefore I need to be able to force the menu to be generated when ids don't match, I thought I'd solve the problem by having a function that generates the menu in session:
def index(): if request.args(0)!=session.id or not len(request.args): redirect(URL('addressbook','router',args=request.args(0))) else: if not session.site or session.site.nodeID!=session.id: .... if not session.cal or session.cal.nodeID!=session.id: session.cal=db((db.Calendar.nodeID==session.id)&(db.Calendar.hubID==LEONEXUSID)).select(db.Calendar.ALL).first() adjustmenu=True if not session.about or session.about.nodeID!=session.id: session.about=db((db.About.nodeID==session.id)&(db.About.hubID==LEONEXUSID)).select(db.About.ALL).first() adjustmenu=True if adjustmenu: menu() .... return dict(row=row) def menu(): session.plural=False ## in order to determine whether function names should be plural or singular session.site_menu=[ ['Home',request.controller=='site' and request.function=='index',URL('site','index',args=session.id)]] if session.about: session.site_menu.append([T('About'),request.controller=='about',URL('about','index',args=session.id)]) session.AboutDropdown=[] if session.about.wie_we_zijn: session.AboutDropdown.append(['Wie we zijn',request.function=='whoWeAre',\ URL('about','whoWeAre',args=session.id)]) session.plural=True ... if session.cal: session.site_menu.append([T('Calendar'),request.controller=='calendar',URL('calendar','index',args=session.id)]) session.CalendarDropdown=[] if session.cal.openingstijden: session.CalendarDropdown.append(['Openingstijden',request.function=='openingHours',\ URL('calendar','openingHours',args=session.id)]) ... return None The problem is that Home always has class="active" <div class="nav-collapse"> <ul class="nav"> {{for _name,_active,_link in session.site_menu:}} {{if session['%sDropdown' % _name]:}} <li class="dropdown" {{if _active:}} class="active" {{pass}}> <a href="" class="dropdown-toggle" data-toggle="dropdown">{{=_name}} <b class="caret"></b></a> <ul class="dropdown-menu"> {{for _name,_active,_link in session['%sDropdown' % _name]:}} <li {{if _active:}} class="active" {{pass}}> <a href="{{=_link}}">{{=_name}}</a> </li> {{pass}} </ul> </li> {{else:}} <li {{if _active:}} class="active" {{pass}}> <a href="{{=_link}}">{{=_name}}</a> </li> {{pass}} {{pass}} </ul> </div><!--/.nav-collapse --> I think what I am looking for is a way to replace this line of code: <li {{if _active:}} class="active" {{pass}}> Kind regards, Annet