杜尔曼作曲家菜单
dolmen.menu的Python项目详细描述
^ tt1}$旨在提供最灵活和明确的方式 使用grok创建和管理菜单及其条目。
你必须知道…
- dolmen.menu仅适用于Python2.6。
- dolmen.menu不支持现成的子菜单。这个 执行由你自己决定。
部件
dolmen.menu提供两个组件:
- 菜单:菜单实现基于zope“内容 provider”的概念,并且正在使用grokcore.viewlet包。
- 条目:菜单项称为条目。它是一个多适配器 为菜单组件注册。
示例
菜单组件:
>>> from dolmen import menu >>> class MyMenu(menu.Menu): ... menu.title('My nice menu')
菜单项:
>>> class MyMenuEntry(menu.Entry): ... menu.order(1) ... menu.name('a_direct_entry') ... menu.title('My Entry') ... menu.menu(MyMenu)
注册
为了使用base grok组件作为菜单项,我们得到两个 注册方式。
类装饰符
类装饰器允许您装饰任何类,以便 将其注册为菜单项:
>>> import grokcore.view >>> @menu.menuentry(MyMenu) ... class TestEntry(grokcore.view.View): ... def render(self): ... return u"A simple entry"
模块级火星指令
火星指令允许你注册你不能装饰的类 (例如,从外部包中),显式地:
>>> class SomeView(grokcore.view.View): ... def render(self): ... return u"I'm a view and I want to be a menu entry" >>> menu.global_menuentry(SomeView, MyMenu, order=2)
更改
0.5(2011-01-31)
- dolmen.menu现在可用于最新的martian。治疗 由于使用了一个模块 注解。注册现在由一个全球格罗克人完成。
0.4(2010-12-24)
- 现在可以定义菜单上下文,它不同于 呈现上下文。这允许委托呈现,如根 菜单或其他特定于对象的菜单。
0.3(2010-06-04)
- 修正了“zope.public”被评估为“正常”的错误 许可。现在,管理器将权限转换为 检查公共标记。
- filter方法现在是一个生成器。
0.2(2010-03-05)
- 更改了获取菜单css id的方式。
0.1(2010-03-03)
- 初次发布。