我正在使用第三方产品,它提供了一个具有过度普遍的plone.uuid.interfaces.IUUIDAware
上下文的视图,因此它实际上出现在所有内容上。我想覆盖它以将其限制为我网站上的特定内容类型。
我已尝试在网站套件中向configures.zcml
和overrides.zcml
添加以下声明:
<browser:viewlet
name="other.product.viewlet"
for="my.site.interfaces.ICustomContentType"
manager="plone.app.layout.viewlets.interfaces.IAboveContentBody"
class="other.product.ViewletClass"
template="browser/copy_of_product_viewlet.pt"
layer="my.site.interfaces.ISiteLayerMarker"
permission="zope2.View"
/>
但是,它似乎没有取代产品提供的产品(我不确定如何从网站包覆盖中引用产品中的模板,因此制作了本地副本)。
答案 0 :(得分:0)
使用方便的configure.zcml
代替overrides.zcml
并添加layer-attribute以将Viewlet绑定到产品的界面。
另见: http://developer.plone.org/views/more_view_examples.html