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
>

Reply via email to