Plone 4.2.0.1版,plone.app.registry1.1条,普隆。超模1.1.1,集合.z3cform.datagridfield0.11个
我正在尝试使用collective.z3cform.datagridfield为了plone.app.registry字段,但在实际设置值时遇到问题。文件似乎没有说 除了使用collective.z3cform.datagridfield.registry.DictRow获取注册表的持久版本。在
作为参考,我的课程如下所示:
class IMySchema(form.Schema):
code = schema.TextLine(title = _(u"Code"), required=False)
name = schema.TextLine(title = _(u"Name"), required=False)
from collective.z3cform.datagridfield.registry import DictRow
class IMySettings(form.Schema):
""" """
form.widget(display_fields=DataGridFieldFactory)
display_fields = schema.List(
title = _(u"Display Fields"),
description = _(u"The fields that will be displayed in view and edit pages"),
value_type=DictRow(title=_(u"Field"), schema=IMySchema),
required=False,
)
我可以用GenericSetup设置一个空白值,并且我的控制面板表单可以与这个注册表交互。 但我无法让GenericSetup从中导入值注册表.xml为了这个记录。输入一个值TTP并使用GenericSetup导出它将得到以下结果:
^{pr2}$但是如果我试图导入它,我会得到一个错误!在
TypeError: ('Could not adapt', None, <InterfaceClass zope.schema._bootstrapinterfaces.IFromUnicode>)
就是这条线plone.supermodel.utils“converter=IFromUnicode(field)”,在调试器中我看到'field'的值实际上是None。在
那么,正确的处理方法是什么呢注册表.xml对于datagridfields?还是我要在中以编程方式添加记录设置处理程序.py还是什么?我对使用还比较陌生 注册处和普隆。超模考虑到这个领域没有说,如果注册表.xml完全是错误的。在
我认为问题是您将代码和名称声明为架构.TextLine(unicode)但您正在注册表中使用字符串;请尝试以下操作:
{u'code':u'authors',u'name':u'authors'}
相关问题 更多 >
编程相关推荐