如何通过jbot对图层进行子类化以覆盖已覆盖的页面模板?

时间:2014-01-07 15:58:11

标签: plone zope

与此问题(How can I override an already overriden template by jbot?)中的问题类似,我使用的基础皮肤包含jbot覆盖到我想要重复的模板文件。

我的产品基于一个名为响应主题的主题。这个主题包含我希望改变的覆盖。

skins.xml:

<skin-path name="buyspoke-theme" based-on="Responsive Theme">

configure.zcml中

<browser:jbot
    directory="templates"
    layer=".browser.interfaces.IThemeSpecific" />

jbot覆盖了响应主题&#39;正在优先考虑。我从上面的问题中意识到,解决方案是对一个图层进行子类化,我想我的问题是怎样的?非常感谢白痴指南。

1 个答案:

答案 0 :(得分:2)

您必须在另一个产品中提供另一个jbot注册:

<browser:jbot
      directory="templates"
      layer=".your.product.CustomInterface" />

然后你的界面必须是这样的:

from .... import IThemeSpecific

class CustomInterface(IThemeSpecific):
    pass

您必须为您的产品注册browser layer

所以:你的新界面正在从主题中继承接口。

另一种方法是使用z3c.unconfigure

注意:我担心这两种方式都会替换原始文件夹中的所有模板(因此我认为您不能简单地自定义单个模板)。