Перемещение полей между наборами полей на Ловкость
В Архетипах, чтобы переместить поле из набора полей (или схем) в другое, мы можем сделать следующее:
schema['creators'].schemata = 'default'
Однако я не достигаю того же самого, используя Ловкость. Я пытался использовать подсказки формы. Пример:
form.fieldset('default',
fields=['creators']
)
Я заметил, что это не работает, потому что поле "создатели" в настоящее время неизвестно. (Поведение собственника еще не оценивалось).
Тем не менее, с помощью подсказок формы я могу перейти от "по умолчанию" к другому (например, "владение").
myfile = NamedFile(title=_(u"A file"))
form.fieldset('ownership', fields=['myfile'])
Как я могу это сделать? Написание моего собственного поведения?
Спасибо!
1 ответ
Скорее всего, вам нужно определить поле, которое вы хотите назначить на интерфейсе под вашим контролем. Хотя это кажется дублирующим, это хорошая идея для целей, чтобы быть полным и явным. Вы также можете:
(1) Объявите поле "создатели" в интерфейсе вашего типа контента (вероятно, рекомендуемое решение) или...
(2) Используйте свое собственное поведение, как описано здесь (и добавьте это поведение к FTI типа в portal_types и соответствующем установочном XML): http://docs.plone.org/external/plone.app.dexterity/docs/behaviors/creating-and-registering-behaviors.html
Первое решение должно быть самым простым. Любые поля, которые вы хотите контролировать расположение или порядок набора полей, скорее всего, должны быть определены вашими интерфейсами.