[英]archetype.schemaextender and Grok adapters
如何用five.grok
注册archetypes.schemaextenders
。
尝试:
class QuickNavExtender(grok.Adapter):
"""
Define schema fiddler which injects a new field to every item.
"""
# This field comes on every AT content item
grok.adapts(ISchemaExtender)
grok.provider(ISchemaExtender)
grok.context(IBaseContent)
#adapts(IBaseContent)
implements(ISchemaExtender)
fields = [
ExtensionBooleanField("quicknav",
widget = atapi.BooleanWidget(
label="Quick jump navigation",
description="Allow in-page jumping by navigation links"
),
# On which edit tab this field appears
schemata = "settings"
)
]
......没有被接受。
但是如果你添加这个ZCML片段并回退Zope 3样式注册它可以工作:
<adapter factory=".extender.QuickNavExtender"
provides="archetypes.schemaextender.interfaces.ISchemaExtender" />
我想你想要:
class QuickNavExtender(grok.Adapter):
grok.context(IBaseContent)
grok.implements(ISchemaExtender)
# fields here...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.