跳转到主要内容

巨石菜单作曲家

项目描述

dolmen.menu旨在通过Grok提供最灵活、最明确的方式来创建和管理菜单及其条目。

请注意...

  • dolmen.menu仅适用于Python 2.6。

  • dolmen.menu不支持子菜单,这是默认的。实现留给您自行决定。

组件

dolmen.menu提供两个组件

  • 菜单:菜单实现基于zope的“内容提供者”概念,并使用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)

注册

为了使用作为菜单条目的基本Grok组件,我们有两种注册方式。

类装饰器

类装饰器允许您装饰任何类,以便将其注册为菜单条目

>>> import grokcore.view

>>> @menu.menuentry(MyMenu)
... class TestEntry(grokcore.view.View):
...    def render(self):
...        return u"A simple entry"

模块级别的martian指令

martian指令允许您显式地注册您不能装饰的类(例如来自外部包的类)

>>> 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上运行。通过使用模块注解,装饰器的处理已被延迟。注册现在由全局grokker完成。

0.4 (2010-12-24)

  • 现在可以定义一个菜单上下文,它与渲染上下文不同。这允许委托渲染,例如根菜单或其他对象特定菜单。

0.3 (2010-06-04)

  • 修复了一个错误,其中“zope.Public”被评估为“正常”权限。现在,管理员将权限转换为CheckerPublic标记。

  • 现在,filter方法是一个生成器。

0.2 (2010-03-05)

  • 更改了获取菜单CSS ID的方式。

0.1 (2010-03-03)

  • 初始发布。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

dolmen.menu-0.5.tar.gz (10.8 kB 查看哈希值)

上传时间

由以下支持