返回没有重氮的页面模板
Returning a page template without diazo
运行: Plone 5.0.0 with Diazo.
如何永久绕过 BrowserView 模板中应用的重氮主题? (不适用于 diazo.off=1)
示例:
我有一个重氮主题。我有一个模板,我正在通过 BrowserView 的 ViewPageTemplateFile returning:
class ExhibitView(BrowserView):
template = ViewPageTemplateFile("exhibit.pt")
def __call__(self):
return self.template()
exhibit.pt文件如下:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone"
lang="en">
<body>
Is it just this text?
</body>
</html>
我删除了plone master模板,它仍然在应用重氮规则。我只是希望它成为 return 一个没有重氮主题的准系统模板。如上所示,在重氮之前,我们曾经能够做到这一点。
另外制作一个 Diazo 规则来跳过这个是不可能的,因为它必须安装在很多地方,我不想将规则应用于每个人的网站主题来使它工作。那是hacky。
提前致谢!
根据这一行:
如果您有一个名为 'X-Theme-Disabled' 的 header,则不会应用转换。两行之后,您会看到正在检查 "diazo.off".
的条件
因此,您应该修改 __call__ 方法,使其在返回模板之前设置 header。
这条线的东西:
def __call__(self):
self.request.response.setHeader('X-Theme-Disabled', '1')
return self.template()
控制面板也在做同样的事情:
警告:我没有测试这个:)
运行: Plone 5.0.0 with Diazo.
如何永久绕过 BrowserView 模板中应用的重氮主题? (不适用于 diazo.off=1)
示例: 我有一个重氮主题。我有一个模板,我正在通过 BrowserView 的 ViewPageTemplateFile returning:
class ExhibitView(BrowserView):
template = ViewPageTemplateFile("exhibit.pt")
def __call__(self):
return self.template()
exhibit.pt文件如下:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone"
lang="en">
<body>
Is it just this text?
</body>
</html>
我删除了plone master模板,它仍然在应用重氮规则。我只是希望它成为 return 一个没有重氮主题的准系统模板。如上所示,在重氮之前,我们曾经能够做到这一点。
另外制作一个 Diazo 规则来跳过这个是不可能的,因为它必须安装在很多地方,我不想将规则应用于每个人的网站主题来使它工作。那是hacky。
提前致谢!
根据这一行:
如果您有一个名为 'X-Theme-Disabled' 的 header,则不会应用转换。两行之后,您会看到正在检查 "diazo.off".
的条件因此,您应该修改 __call__ 方法,使其在返回模板之前设置 header。 这条线的东西:
def __call__(self):
self.request.response.setHeader('X-Theme-Disabled', '1')
return self.template()
控制面板也在做同样的事情:
警告:我没有测试这个:)