Here's what I've tried so far and here's the results if it helps any to get me on the right track, plus I hope this helps someone else looking for this to because this is something very commonly done in PHP.
I have tried changing this: response.menu3[-1]+=([[(T(subcat.subcategory)), False, 'link',]]) to this: response.menu3[-1]+=([(T(subcat.subcategory)), False, 'link',]) Which changes the output in the shell to: [<lazyT 'Catalog'>, False, '', [<lazyT 'Animals'>, False, 'link', <lazyT 'Dogs'>, False, 'link', <lazyT 'Cats'>, False, 'link']] Which obviously isn't correct. Continuing: original: response.menu3[-1]+=([[(T(subcat.subcategory)), False, 'link',]]) to this: response.menu3+=([[(T(subcat.subcategory)), False, 'link',]]) Gives this in the shell output: [<lazyT 'Catalog'>, False, '', [<lazyT 'Animals'>, False, 'link'], [<lazyT 'Dogs'>, False, 'link'], [<lazyT 'Cats'>, False, 'link']] Again obviously incorrect. Continuing: original: response.menu3+=([[(T(subcat.subcategory)), False, 'link',]]) changed: response.menu3[-1]+=((T(subcat.subcategory)), False, 'link',) Shell output shows: [<lazyT 'Catalog'>, False, '', [<lazyT 'Animals'>, False, 'link', <lazyT 'Dogs'>, False, 'link', <lazyT 'Cats'>, False, 'link']] I tried additional variations but, not sure how much space we have here to keep going with my 2 weeks worth of work. Essentially the end result is the same a bracket missing to seperate the subcategories. I've been able to modify and add to lists before, however I've never really experienced a situation where the negative slice appears to be ignored (removing the bracket at the end of dogs and beginning of cats as it is doing for the main category Animals as can be seen), even removed the negative slice ([-1]) for the main categories iteration and when I do it clearly shows that it is actually doing the negative slice properly because the brackets come back at the end of Animals, unlike the subcategories that do not appear to be removing the bracket(s) On Monday, January 20, 2014 2:33:50 PM UTC-6, web2pygroup wrote: > > > Hi all, > > I have been trying for a little over 2 weeks to figure this out... > > I'm trying to generate a menu that drops down, I have been able to > statically create it by overwriting sample app that has the same drop down > menu like the web2py.com site. > > I have this in my db.py: > db.define_table('store_catalog', > Field('maincategory', 'string'), > Field('subcategory', 'string'), > Field('description', 'text')) > > > in my menu.py I have gotten this so far: > response.menu=[] > response.menu.append([T('Catalog'), False, '', > [(T('%s' % menucatchoice['maincategory']), False, 'link', > [(T('%s' % menucatchoice['subcategory']), False, > 'link'),]) for menucatchoice in rows ] ]) > > It gets me a drop down menu except that for each subcategory it repeats > adding it to the main category. Let's say there is only 1 main category and > 2 subs that go after that > Catalog (this just shows with the caret next to it as intended) > MainCategory > Sub > Sub > What I have does put the "Catalog" for the first but, what I get is: > MainCategory > (blank) > MainCategory(don't want this it's being repeated) > Subcategory > MainCategory(and this one is also a repeat) > Subcategory > > I have tried to break out the response.menu with so many different > .appends it's not funny. I have also tried adding the "[-1]". This was > the closest I have gotten to what I want it to look like. I'm at an > absolute loss on this, any and all help would be greatly appreciated. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.