me too.
@Massimo, feel free to use it....
here's a small variation with mobile parameter:
def twitter_menu(menu, level=0, mobile=False):
"""
Generates twitter bootstrap's compliant menu
"""
lis = []
for li in menu:
(text, active, href) = li[:3]
sub = len(li) > 3 and li[3] or []
if len(sub) == 0:
li_class = None
el = LI(A(text, _href=href), _class=li_class)
lis.append(el)
else:
li_class = 'dropdown'
caret = level == 0 and B(_class='caret') or
I(_class='icon-chevron-right')
if mobile:
li_class = None
caret = B(_class='caret')
sub_ul = twitter_menu(sub, level=level)
el = LI(A(text, caret, _href=href,
_class="dropdown-toggle", **{'_data-toggle' : 'dropdown'}), _class=li_class)
lis.append(el)
lis.append(sub_ul)
else:
sub_ul = twitter_menu(sub, level=level+1)
el = LI(A(text, caret, _href=href,
_class="dropdown-toggle", **{'_data-toggle' : 'dropdown'}), sub_ul,
_class=li_class)
lis.append(el)
if level == 0:
return UL(*lis, _class='nav')
else:
if mobile:
return lis
return UL(*lis, _class="dropdown-menu")
Il giorno sabato 26 maggio 2012 10:56:10 UTC+2, Paolo Caruccio ha scritto:
>
> Do you mean to add a new MENU attribute (i.e. 'bootstrap_menu') like
> 'mobile' and to switch by menu types?
> I think that's a good option.
>
>
>>