В следующем браузере должен вернуть содержимое первой страницы первого сайта Plone в его контексте.Тем не менее, я не могу получить объект, который может отображать html-контент.
from Products.Five import BrowserView
from zope.component import getMultiAdapter
class RenderFirst (BrowserView):
def __call__ (self):
def findPlones (context):
plones = context.objectValues("Plone Site")
folders = context.objectValues("Folder")
folders = set(folders).difference(set(plones))
for folder in folders:
plones += findPlones(folder)
return plones
plones = findPlones(context)
if len(plones):
default_page = plones[0].getDefaultPage()
content = plones[0].unrestrictedTraverse (default_page)
view = getMultiAdapter ((content, self.request))
return view()
else:
return "no plone"
Предыдущий код при запуске говорит мне, что представление объекта не вызывается.* является объектом Plone Site и при вызове выдает KeyError
для folder_listing
, если я вызываю content
объект, я получаю AttributeError
для document_view
Здесь много комбинацийвызывая разные адаптеры разных объектов.Еще не нашли нужный объект, который может отобразить страницу.Кто-нибудь знает, как это сделать?