Plone 对扩展内容类型上的字段重新排序

Plone 对扩展内容类型上的字段重新排序,plone,plone-4.x,Plone,Plone 4.x,我使用archetypes.schemaextender扩展了基本的Plone内容类型。我需要对编辑页面上的字段重新排序。当我这样做时,重新排序的字段会出现在编辑界面上名为“内容”的新选项卡中。如何使字段显示在编辑界面的“默认”选项卡中 以下是my extender.py中的代码片段: class extenddocument(object): adapts(IATDocument) implements(IOrderableSchemaExtender, IBrowserLay

我使用archetypes.schemaextender扩展了基本的Plone内容类型。我需要对编辑页面上的字段重新排序。当我这样做时,重新排序的字段会出现在编辑界面上名为“内容”的新选项卡中。如何使字段显示在编辑界面的“默认”选项卡中

以下是my extender.py中的代码片段:

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行,按验证模式顺序