我编写了一个 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
当我包含条件时,如果用户删除参数表达式,主题就会中断。
我可以在规则上使用不同的条件来直接测试页面的存在而不使用变量吗?