我需要在存储情侣的 Plone 控制面板中构建一个配置面板,并且我想在 Plone 3 上使用 plone.app.registry。
如果我将自己限制在用户界面上,那么定义一个自动构建的模式接口非常简单:
class IMyPair(Interface):
value = schema.TextLine(title=u"value", required=True)
title = schema.TextLine(title=u"title", required=False)
class MyPair(object):
implements(IMyPair)
def __init__(self, value='', title=''):
self.value = value
self.title = title
class IMyConfigPanel(Interface):
entry = schema.List(
title=_(u'Foo'),
value_type=schema.Object(IMyPair, title=u"entry"),
required=True
)
我们使用这是一个项目,将portal_properties 中的情侣作为单个字符串(带有分隔符)存储。
使用这种方法(使用“value_type=schema.Object”)和 plone.app.registry 我得到一个异常,因为 IObjectField 没有定义 IPersistent 适配器。
在深入并疯狂提供我自己的适配器之前:有一种更简单的方法可以满足我的问题的初始需求吗?