cybertools/menu
helmutm a170a210ce work in progress: relation package, configure.zcml
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@653 fd906abe-77d9-0310-91a1-e0d9ade77398
2005-11-03 09:29:30 +00:00
..
__init__.py Reorganized cybertools package 2005-11-01 10:09:31 +00:00
configure.zcml work in progress: relation package, configure.zcml 2005-11-03 09:29:30 +00:00
interfaces.py Reorganized cybertools package 2005-11-01 10:09:31 +00:00
menu.py Reorganized cybertools package 2005-11-01 10:09:31 +00:00
README.txt Reorganized cybertools package 2005-11-01 10:09:31 +00:00
tests.py Reorganized cybertools package 2005-11-01 10:09:31 +00:00

Creating and Rendering Menus
============================

We first set up a test and working environment:

    >>> from zope.app import zapi
    >>> from zope.app.testing import ztapi
    >>> from zope.app.component import site, interfaces
    >>> from zope.app.folder import Folder
    >>> from cybertools.menu.menu import Menu
    >>> from cybertools.menu.interfaces import IMenu

Set up a site:

    >>> f1 = Folder()
    >>> sm = site.LocalSiteManager(f1)
    >>> f1.setSiteManager(sm)
    >>> default = sm['default']

Create a menu and register it:

    >>> m1 = Menu('m1')
    >>> default['m1'] = m1
    >>> reg = site.UtilityRegistration('main', IMenu, m1)
    >>> default.registrationManager.addRegistration(reg)
    'UtilityRegistration'
    >>> reg.status = interfaces.registration.ActiveStatus
    >>> zapi.getUtility(IMenu, 'main', context=f1)
    Menu('m1')
    >>> list(zapi.getUtilitiesFor(IMenu, f1))
    [('main', Menu('m1'))]