[Grok-dev] Rendering a menu built in another module

Santiago Videla santiago.videla at gmail.com
Wed Feb 4 08:10:35 EST 2009


Hi,

Sorry by the delay...:)

I couldn't run your code because I don't know what are: `Infos` and
`Menutest`

But maybe, you should check the context directive on your View, Viewlet,
Menu and SubMenuItem classes

Regards

On Fri, Jan 9, 2009 at 10:41 AM, Simon Elbaz <simon.elbaz at free.fr> wrote:

> Hi,
> here is an extract of menus.py:
> -----
> class Adamamenu(megrok.menu.Menu):
>   grok.name('adamamenu')
>   grok.title('Adamamenu')
>   grok.description('')
>
> class File(megrok.menu.SubMenuItem):
>   grok.name('file')
>   grok.title('File')
>   grok.description('')
>
>   megrok.menu.menuitem('adamamenu', icon=None, filter=None, order=1)
>
> class RenderMenu(grok.View):
>   grok.context(Menutest)
>
>   def render(self):
>        menu = getUtility(IBrowserMenu, 'adamamenu')
>       return pformat(menu.getMenuItems(self.context, self.request))
>
>    def render_menu(self):
>        menu = getUtility(IBrowserMenu, 'adamamenu')
>        return menu.getMenuItems(self.context, self.request)
>
> -----
> An extract of infos.py that tries to display the object Adamamenu:
>
> import menus
> ....
> class Logo(grok.Viewlet):
>   grok.context(Infos)
>   grok.viewletmanager(Header)
>   grok.order(1)
>
>   def display_menu(self):
>       a_menu = getMultiAdapter((self.context, self.request),
> name='displaymenu')
>       return a_menu.get_menu()
>
> class DisplayMenu(RenderMenu):
>   grok.context(Infos)
>
>    def get_menu(self):
>        return self.render_menu()
>
> -----
> Calling viewlet.display_menu in logo.pt displays an empty menu.
>
> Regards,
> Simon
>
>
> --------------------------------------------------
> Santiago Videla wrote:
>
>> Hi,
>>
>> I'm not sure to understand what are doing exactly.
>>
>> Could you paste your code??
>>
>> Best Regards
>>
>> On Thu, Jan 8, 2009 at 10:43 AM, Simon Elbaz <simon.elbaz at free.fr<mailto:
>> simon.elbaz at free.fr>> wrote:
>>
>>    Hi,
>>    I have 2 files:
>>    menus.py
>>    infos.py
>>
>>    In menus.py, a menu is built using megrok.menu (with fixes on 0.14). A
>>    view called RenderMenu has 2 methods:
>>    render which display the menu  correctly.
>>    render_menu which returns the menu structure
>>
>>    In the file infos.py, a class called DisplayMenu subclasses RenderMenu
>>    and returns the menu which is now empty (whatever is put in menus.py).
>>
>>    What should I do to get the menu - filled in menus.py - from
>>    DisplayMenu
>>    in infos.py ?
>>
>>    Thanks for your help
>>    Simon
>>    _______________________________________________
>>    Grok-dev mailing list
>>    Grok-dev at zope.org <mailto:Grok-dev at zope.org>
>>    http://mail.zope.org/mailman/listinfo/grok-dev
>>
>>
>>
>>
>> --
>> Santiago Videla
>> www.revolucionesweb.com.ar <http://www.revolucionesweb.com.ar>
>> http://www.linkedin.com/in/svidela
>>
>> Sigue la mata dando de que hablar siempre abajo y a la izquierda donde el
>> pensamiento que se hace corazón resplandece con la palabra sencilla y
>> humilde que l at s tod at s somos.
>>
>
>


-- 
Santiago Videla
www.revolucionesweb.com.ar
http://www.linkedin.com/in/svidela

Sigue la mata dando de que hablar siempre abajo y a la izquierda donde el
pensamiento que se hace corazón resplandece con la palabra sencilla y
humilde que l at s tod at s somos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/grok-dev/attachments/20090204/224f4bb1/attachment.html 


More information about the Grok-dev mailing list