Вам нужно будет создать новый тип контента Dexterity с нуля и полностью переписать схему вашего архетипа в новую схему, которая наследуется от plone.directives.form и с типами полей вида zope.schema.
Для получения дополнительной информации см. Здесь:
http://plone.org/products/dexterity/documentation/manual/developer-manual/schema-driven-types/referencemanual-all-pages
Например, объявление поля схемы вашего Архетипа будет выглядеть примерно так в Ловкости:
script = schema.TextLine(
title=_(u"Page Template Script"),
)
Типы контента «Ловкость» не получают автоматические средства доступа и мутаторы, такие как типы контента «Архетипы». Вместо этого вы просто получаете доступ к полю схемы, как к атрибуту.
Например:
script = myfolder.script
Если вы хотите создать те же аксессоры и мутаторы (как вы указали в поле Архетипы), вам придется создавать их вручную в своем классе Ловкости.
Например, что-то вроде:
class MyFolder(dexterity.Container):
""" """
grok.implements(IMyFolderSchema)
def __call__(self):
return self.script
def edit_accessor(self):
return self.script
def write(self, value):
self.script = value