在Archetypes中,为了将字段集(或schemata)中的字段移动到另一个字段集,我们可以执行以下操作:
schema['creators'].schemata = 'default'
但是,我没有使用Dexterity实现同样的目标。我尝试过使用表单提示。例如:
form.fieldset('default',
fields=['creators']
)
我注意到它不起作用,因为此时“创作者”字段未知。 (尚未评估所有权行为)。
尽管如此,通过表单提示,我可以从“默认”转移到另一个(例如“所有权”)。
myfile = NamedFile(title=_(u"A file"))
form.fieldset('ownership', fields=['myfile'])
我该怎么做?写我自己的行为?
THX!
答案 0 :(得分:3)
您可能需要在您控制的界面上定义要分配的字段。虽然这看似重复,但为了完整和明确的目的,这是一个好主意。你可以:
(1)在您的内容类型界面上声明“创建者”字段(可能是推荐的解决方案),或者......
(2)使用您在此处记录的行为(并将此行为添加到portal_types和相关设置XML中类型的FTI):http://docs.plone.org/external/plone.app.dexterity/docs/behaviors/creating-and-registering-behaviors.html
第一个解决方案应该是最简单的。您希望控制字段集位置或顺序的任何字段都应该由您的接口定义。