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