What if I need more than one menu.

Usually I have 2 or 3 menus (top, bottom, and side)

Can I do someting like this:
in controller
var1 = (response <http://web2py.com/book/default/docstring/response>.menu
=(...))
var2 = (response <http://web2py.com/book/default/docstring/response>.menu
=(...))

in layout
{{=MENU(var1,_class='sf-menu')}}
{{=MENU(var2,_class='sf-menu')}}


- - Miroslav Gojic - -



On Fri, Oct 7, 2011 at 22:07, Anthony <abasta...@gmail.com> wrote:

> See http://web2py.com/book/default/chapter/05#Custom-Helpers for details
> on using the MENU helper. You can see an example of using it in conjunction
> with Superfish (which is a Javascript library that turns the list structure
> generated by MENU into a dynamic menu) in the 'welcome' app:
> http://code.google.com/p/web2py/source/browse/applications/welcome/views/layout.html#102
>
> Anthony
>
>
> On Friday, October 7, 2011 3:08:37 PM UTC-4, miroslavgojic wrote:
>
>> this is my controller
>>
>> from gluon.tools import Crud
>> crud = Crud(db)
>>
>> def index():
>>     form=SQLFORM(db.poruke,fields=**['poruka','post_author'])
>>     if form.accepts(request.vars,**session):
>>         session.flash="new post accepted!"
>>         redirect(URL(r=request))
>>     poruke=db().select(db.poruke.**ALL)
>>     return dict(form=form,poruke=poruke)
>>
>> def people():
>>     crud.settings.formstyle = ('divs')
>>     form = crud.create(db.person,next=**URL('people'),message=T("**record
>> created"))
>>     persons = crud.select(db.person,fields=[**'name'],headers={'name':
>> 'Name'})
>>     return dict(form = form,persons=persons)
>>
>> def user():
>>     auth.settings.formstyle = ('divs')
>>     return dict(form=auth())
>>
>> this is my layout
>>
>> <!DOCTYPE html>
>> <html>
>>     <head>
>>         <title>Web2Py</title>
>>     </head>
>>     <body>
>>     
>> {{try:}}{{=auth.navbar(action=**URL('default','user'))}}{{**except:pass}}<br
>> />
>>         {{include}}
>>
>>          <div class="sidebar">
>>          {{block mysidebar}}
>>             default sidebar
>>          {{end}}
>>          </div>
>>
>>          <div class="ez-box" id="footer">
>>           {{=T('Copyright')}} © 2010 -
>>           {{=T('Powered by')}} <a href="http://www.web2py.com";>**
>> web2py</a>
>>     </div>
>>     </body>
>> </html>
>>
>> this is my view
>>
>> {{extend 'layout.html'}}
>>
>> {{for poruke in poruke:}}
>> {{if poruke.post_author:}}
>> {{=poruke.post_author}} says {{=poruke.poruka}} <br />
>> {{else:}}
>> Anonymous says {{=poruke.poruka}}<br />
>> {{pass}}
>> {{pass}}
>>
>> {{=form}}
>>
>> {{include 'test.html'}}
>>
>> {{block mysidebar}}
>> my block
>> {{end}}
>>
>> How t make implementation of
>>
>> response <http://web2py.com/book/default/docstring/response>.menu = 
>> [('Google', False, 'http://www.google.com',[]),
>>
>>
>>                  ('Index',  True,  URL 
>> <http://web2py.com/book/default/docstring/URL>('index'), [])]
>>
>> *
>> *
>>
>>
>>
>> - - Miroslav Gojic - -
>>
>>
>>
>> On Fri, Oct 7, 2011 at 18:58, Anthony <abas...@gmail.com> wrote:
>>
>>> On Friday, October 7, 2011 1:31:08 AM UTC-4, miroslavgojic wrote:
>>>>
>>>> Thanks for blocks - that work, this is similar to modules in joomla, I
>>>> can write small block and get content on specific place at layout.
>>>>
>>>> I tray to use next code:
>>>> response <http://web2py.com/book/default/docstring/response>.menu = 
>>>> [('Google', False, 'http://www.google.com',[]),
>>>>
>>>>
>>>>                  ('Index',  True,  URL 
>>>> <http://web2py.com/book/default/docstring/URL>('index'), [])]
>>>>
>>>> but without any success.
>>>> I reed in book that mentioned code I must put in controller but how to
>>>> get same than in layout and does in controller I must use definition or 
>>>> haw.
>>>>
>>>
>>> Can you show the relevant controller and view code related to the menu?
>>> What do you expect to see, and what do you actually see? Note, typically you
>>> would pass response.menu to the MENU() helper, which will turn it into a
>>> nested unordered list, which can then be styled/displayed as a menu via CSS
>>> and/or Javascript (e.g., the 'welcome' app uses the Superfish Javascript
>>> menu).
>>>
>>> Anthony
>>>
>>>
>>

Reply via email to