gpt4 book ai didi

plone - 返回没有重氮的页面模板

转载 作者:行者123 更新时间:2023-12-01 08:52:42 27 4
gpt4 key购买 nike

运行:Plone 5.0.0 with Diazo。

如何永久绕过 BrowserView 模板中应用的重氮主题? (不适用于 diazo.off=1)

例子:我有一个重氮主题。我有一个通过 BrowserView 的 ViewPageTemplateFile 返回的模板:

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 主模板,它仍在应用重氮规则。我只希望它返回一个没有重氮主题的准系统模板。如上所示,在 Diazo 出现之前,我们曾经能够做到这一点。

同时制定一个 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 - 返回没有重氮的页面模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33655694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com