Plone 对扩展内容类型上的字段重新排序
我使用archetypes.schemaextender扩展了基本的Plone内容类型。我需要对编辑页面上的字段重新排序。当我这样做时,重新排序的字段会出现在编辑界面上名为“内容”的新选项卡中。如何使字段显示在编辑界面的“默认”选项卡中 以下是my extender.py中的代码片段:Plone 对扩展内容类型上的字段重新排序,plone,plone-4.x,Plone,Plone 4.x,我使用archetypes.schemaextender扩展了基本的Plone内容类型。我需要对编辑页面上的字段重新排序。当我这样做时,重新排序的字段会出现在编辑界面上名为“内容”的新选项卡中。如何使字段显示在编辑界面的“默认”选项卡中 以下是my extender.py中的代码片段: class extenddocument(object): adapts(IATDocument) implements(IOrderableSchemaExtender, IBrowserLay
class extenddocument(object):
adapts(IATDocument)
implements(IOrderableSchemaExtender, IBrowserLayerAwareExtender)
layer = IextenddocumentLayer
fields = [
_ExtensionStringField(
name='longTitle',
widget=StringWidget(
label=u'Long Title',
description=u'Optional descriptive title to replace default title as the page heading',
size='50',
),
required=False,
searchable=True,
),
]
def __init__(self, context):
self.context = context
def getOrder(self, schematas):
""" Manipulate the order in which fields appear.
@param schematas: Dictonary of schemata name -> field lists
@return: Dictionary of reordered field lists per schemata.
"""
schematas["Content"] = ['title', 'longTitle', 'description', 'text']
return schematas
def getFields(self):
return self.fields
附件是“编辑”选项卡视图:
在getOrder方法中,将字段列表分配给schematas['default'],而不是schematas['Content']。在getOrder方法中,将字段列表分配给schematas['default'],而不是schematas['Content']。或者,实际上不需要额外的字段集,由于和添加的字段无论如何都会附加到默认字段集,因此您也可以只重新排序字段,而不是整个字段集,如下所述: 这是Inqbus的一个很好的文档,它为您提供了重新排序字段和fielset的可能性的概述,它是德语的,但代码部分是自我解释的:
或者,实际上您不需要额外的字段集,因为和添加的字段将附加到默认字段集,您也可以只重新排序字段,而不是整个字段集,如下所述: 这是Inqbus的一个很好的文档,它为您提供了重新排序字段和fielset的可能性的概述,它是德语的,但代码部分是自我解释的:
当我更改为schematas['default']时,我收到以下错误:异常类型值错误异常值新顺序中的字段数与架构中的字段数不同。。。在cachingInstanceSchemaFactory模块原型中的Module archetypes.schemaextender.extender,第144行,在instanceSchemaFactory模块原型中的Module archetypes.schemaextender.extender,第198行,在instanceSchemaFactory模块archetypes.schemaextender.extender,第66行,在我更改为schematas['default'时,以验证\模式\顺序显示我得到这个错误:异常类型值错误异常值新顺序中的字段数与架构中的字段数不同。。。模块archetypes.schemaextender.extender,第144行,在cachingInstanceSchemaFactory模块archetypes.schemaextender.extender,第198行,在instanceSchemaFactory模块archetypes.schemaextender.extender,第66行,按验证模式顺序