Используя документацию на plone.org вместе с некоторыми на форуме, я смог получить собственный менеджер портлетов под моим контентом в Plone 4.0.8.На самом деле цель состоит в том, чтобы под контентом, расположенным как панель мониторинга, располагалось 4 пользовательских менеджера.
В любом случае, мой менеджер позволяет мне добавлять только статические портлеты и портлеты сбора.Посмотрев вокруг кода, я обнаружил, что, когда система заполняет раскрывающийся список «Добавить новый портлет», она проходит по всем портлетам.Затем он просматривает атрибуты for_ каждого портлета, чтобы проверить, предоставляются ли интерфейсы самим - моим администратором портлетов.
def getAddablePortletTypes(self):
addable = []
for p in getUtilitiesFor(IPortletType):
# BBB - first condition, because starting with Plone 3.1
#every p[1].for_ should be a list
if not isinstance(p[1].for_, list):
logger.warning("Deprecation Warning ..." % p[1].addview)
if p[1].for_ is None or p[1].for_.providedBy(self):
addable.append(p[1])
elif [i for i in p[1].for_ if i.providedBy(self)]:
addable.append(p[1])
return addable
Как добавить интерфейс моего менеджера в список for_ каждого портлета?интерфейсов?