На более старом сайте, который мы переносим с Plone 2 на Plone 4, мы переопределили основной шаблон, используемый для определенного типа контента на основе Archtypes, используя метод getMainTemplate, определенный для типа контента:
def getMainTemplate(self):
""" this defines the main template to use in base_edit/view/etc for this
item of content """
return 'a_different_main_template'
В Plone 4 это больше не работает. PDB в методе не ударил, так что, вероятно, это было удалено. Вероятно, на то есть веские причины, так как смешивание моделей и представлений кажется грязным.
Я пытался следовать инструкциям http://plone.org/documentation/manual/theme-reference/buildingblocks/skin/templates/how-to-customise-view-or-edit-on-archetypes-content-items, чтобы переопределить форму редактирования, но не могу понять, как можно изменить основной шаблон, используемый для формы редактирования. Я могу только добавить контент на страницу, заполнив слоты. Я попытался изменить открывающий HTML-тег безуспешно:
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en"
lang="en"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
metal:use-macro="here/a_different_main_template/macros/master"
i18n:domain="plone">
(где a_different_main_template
определен в слое моей кожи вместе с моим настроенным шаблоном редактирования)
Существует ли новый способ замены основного шаблона, используемого для определенного типа, так что его будет использовать вид редактирования по умолчанию, в частности (я в порядке с переопределением представлений "представления", но не хочу воссоздавать Редактировать / добавить формы, просто используйте их в новом шаблоне)?