I do not understand the problem. You want to replay
<li {{if _active:}} class="active" {{pass}}>
with what? You can do simply
<li>
if you do not care about class="active"
On Tuesday, 3 July 2012 04:09:16 UTC-5, Annet wrote:
>
> 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
>