gpt4 book ai didi

plone - 我可以直接在 Diazo 规则中测试 Plone 页面是否存在吗?

转载 作者:行者123 更新时间:2023-12-05 01:14:54 24 4
gpt4 key购买 nike

我编写了一个 Diazo 规则,允许用户通过编辑站点内的特定页面来自定义其 Plone 站点的页脚。以下规则可以满足我的要求:

<replace css:theme-children="#portal-footer"
css:content-children="#content-core"
href="/theme_resources/footer"
if="$footer_id = 'footer'" />

在高级设置中使用如下参数表达式:

footer_id = context/theme_resources/footer/id | nothing

如果我不包含条件,当用户删除或移动/theme_resources/footer 时,我会得到以下回溯并且主题根本没有应用:

2013-05-28 10:46:55 ERROR plone.subrequest Error handling subrequest to /theme_resources/footer
Traceback (most recent call last):
File "c:\plone43\eggs\plone.subrequest-1.6.7-py2.7.egg\plone\subrequest\__init__.py", line 116, in subrequest
traversed = request.traverse(path)
File "c:\plone43\eggs\zope2-2.13.19-py2.7.egg\ZPublisher\BaseRequest.py", line 518, in traverse
return response.notFoundError(URL)
File "c:\plone43\eggs\zope2-2.13.19-py2.7.egg\ZPublisher\HTTPResponse.py", line 718, in notFoundError

当我包含条件时,如果用户删除参数表达式,主题就会中断。

我可以在规则上使用不同的条件来直接测试页面的存在而无需变量吗?

最佳答案

您不能直接使用 Diazo 测试任意内容对象的存在。

如果您的问题是主题在视觉上在条件评估为 false 时中断,您可以使用另一个具有完全相反条件的规则,这样您就可以在 Diazo 层中进行动态回退。不过,在这种情况下,我只是在 HTML 中放置一个静态后备页脚,以便在不应用规则时使用它。

另一方面,如果您的意思是当页脚页面被删除时您的主题根本没有应用,请发布回溯。

关于plone - 我可以直接在 Diazo 规则中测试 Plone 页面是否存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16739585/

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