Hi,

I managed to get one working a little while ago doing this. This has been 
adapted for your situation, may require some tweaking:

_tables.py - model
db.define_table('store_catelog')


db.define_table('store_catelog',
    Field('title', 'string'),
    Field('description', 'text'),
    Field('parent_catelog', 'reference store_catelog', default=None),
    format='%(title)s',
    redefine=True)

menu.py - model
response.menu = []

categories = db(db.store_catelog.parent == None).select(orderby=db.
store_catelog.id)

for category in categories:    
    response.menu+=[ (T(category.title), True if active_page == str(category
.title.lower()) else False, URL('default','page/%s' % (category.title.lower
())), [
        (T(i.title), True if active_page == str(i.id) else False, URL(
'default','page/%s' % (i.id)), []) for i in db((db.stored_category.parent 
==category
.id)).select(db.store_category.ALL) if i.parent == category.id
                    ]) ]

The query returns any categories without a parent and adds them to the 
menu. While doing so looks for any subcategories using the category as a 
parent.

Hope that helps you out.

-James

On Tuesday, January 21, 2014 9:33:50 AM UTC+13, [email protected] 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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to