1

我正在使用 3rd 方产品,它提供了一个带有过度普遍上下文的 viewlet plone.uuid.interfaces.IUUIDAware,因此它有效地出现在所有东西上。我想覆盖它以将其限制为我网站上的特定内容类型。

我尝试在站点包中configures.zcmloverrides.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"
/>

但是,它似乎并不能替代产品提供的模板(我不确定如何从站点包覆盖中引用产品中的模板,因此制作了本地副本)。

4

1 回答 1

0

使用方便configure.zcml的代替overrides.zcml并添加 layer-attribute 将 viewlet 绑定到您的产品界面。

另见:http: //developer.plone.org/views/more_view_examples.html

于 2013-06-28T08:49:51.183 回答