与此问题(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;正在优先考虑。我从上面的问题中意识到,解决方案是对一个图层进行子类化,我想我的问题是怎样的?非常感谢白痴指南。
答案 0 :(得分:2)
您必须在另一个产品中提供另一个jbot注册:
<browser:jbot
directory="templates"
layer=".your.product.CustomInterface" />
然后你的界面必须是这样的:
from .... import IThemeSpecific
class CustomInterface(IThemeSpecific):
pass
您必须为您的产品注册browser layer。
所以:你的新界面正在从主题中继承接口。
另一种方法是使用z3c.unconfigure。
注意:我担心这两种方式都会替换原始文件夹中的所有模板(因此我认为您不能简单地自定义单个模板)。