Перемещение полей между наборами полей на Ловкость - PullRequest
4 голосов
/ 18 января 2012

В Архетипах, чтобы переместить поле из набора полей (или схем) в другое, мы можем сделать следующее:

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

Однако я не достигаю того же, используя Ловкость. Я пытался использовать подсказки формы. Пример:

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

Я заметил, что это не работает, потому что поле "создатели" в настоящее время неизвестно. (Поведение собственника еще не оценивалось).

Тем не менее, с помощью подсказок формы я могу перейти от «по умолчанию» к другому (например, «владение»).

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

Как я могу это сделать? Написание моего собственного поведения?

Thx!

1 Ответ

3 голосов
/ 18 января 2012

Скорее всего, вам нужно определить поле, которое вы хотите назначить на интерфейсе под вашим контролем.Хотя это кажется дублирующим, это хорошая идея для целей, чтобы быть полным и явным.Вы можете либо:

(1) объявить поле «создатели» в интерфейсе типа контента (вероятно, рекомендуемое решение), либо ...

(2) использовать собственное поведение, описанное здесь(и добавление этого поведения в FTI типа в portal_types и соответствующем XML-файле настройки): http://docs.plone.org/external/plone.app.dexterity/docs/behaviors/creating-and-registering-behaviors.html

Первое решение должно быть самым простым.Любые поля, которые вы хотите контролировать расположение или порядок набора полей, скорее всего, должны быть определены вашими интерфейсами.

...