1
我正在使用第三方产品,它提供了一个过于普遍的plone.uuid.interfaces.IUUIDAware
上下文的viewlet,所以它实际上出现在所有东西上。我想重写此限制它在我的网站上的特定内容类型。覆盖viewlet不太普遍
我试着加入以下声明,以在站点包都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"
/>
然而,它似乎并没有更换该产品提供了一个(我不知道如何参考产品中的模板,从网站包中覆盖,这样就制作了本地副本)。
两个'configure.zcml'和'overrides.zcml'尝试这个。它添加了绑定到站点包定义图层的特定类的自定义视图(现在有两个,包括另一个包提供的图层),并且没有从其他所有'IUUIDAware'对象中删除原始视图。我已经更新了问题以显示图层绑定。 –