我正在使用 3rd 方产品,它提供了一个带有过度普遍上下文的 viewlet 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"
/>
但是,它似乎并不能替代产品提供的模板(我不确定如何从站点包覆盖中引用产品中的模板,因此制作了本地副本)。