具有
plone:portletrenderer
您只需要像以前一样指定原始portlet、新模板和一个层(因此,只有在安装了自定义包的情况下,它才会在您的plone站点上处于活动状态)。
<include package="plone.app.portlets" />
<plone:portletRenderer
portlet="plone.app.portlets.portlets.navigation.INavigationPortlet"
class=".my.module.MyRenderer"
layer=".interfaces.IMyPackageLayer"
/>
from plone.app.portlets.portlets.navigation import Renderer as NavigationRenderer
class MyRenderer(NavigationRenderer):
_template = ViewPageTemplateFile('template/my_navi_template.pt')
<include package="plone.app.portlets" />
确保Portlet内容已加载。
浏览器层已在GenericSetup中注册:
在您的个人资料中放入browserlayer.xml:
<?xml version="1.0"?>
<layers>
<layer name="my.package.layer"
interface="my.package.interfaces.IMyPackageLayer" />
</layers>
以及接口:
from zope.interface import Interface
class IMyPackageLayer(Interface):
"""Request marker interface"""