4

在 Archetypes 中,为了将一个字段从一个字段集(或模式)移动到另一个,我们可以执行以下操作:

schema['creators'].schemata = 'default'

但是,我使用 Dexterity 并没有达到同样的效果。我试过使用表单提示。前任:

form.fieldset('default',
    fields=['creators']
 )

我注意到它不起作用,因为此时“创建者”字段是未知的。(所有权行为尚未评估)。

尽管如此,通过表单提示,我可以从“默认”转移到另一个(例如“所有权”)。

myfile = NamedFile(title=_(u"A file"))
form.fieldset('ownership', fields=['myfile'])

我怎样才能做到这一点?写我自己的行为?

谢谢!

4

1 回答 1

3

您可能需要在您控制的界面上定义要分配的字段。虽然这似乎是重复的,但出于完整和明确的目的,这是一个好主意。您可以:

(1) 在您的内容类型界面上声明“创作者”字段(可能是推荐的解决方案),或者...

(2) 使用此处记录的您自己的行为(并将此行为添加到 portal_types 和相关设置 XML 中的类型的 FTI):http ://docs.plone.org/external/plone.app.dexterity/docs/behaviors/creating -and-registering-behaviors.html

第一个解决方案应该是最简单的。无论如何,您希望控制字段集位置或顺序的任何字段都应该由您的接口定义。

于 2012-01-17T23:34:07.223 回答