如何使用 ZPT 检查它是否是 Plone 网站的主页?
-
19-08-2019 - |
题
解决方案
最好的方法是使用两个非常方便的克隆视图,它们专门用于此目的。定义它们的接口位于 https://svn.plone.org/svn/plone/plone.app.layout/trunk/plone/app/layout/globals/interfaces.py, ,如果您想查看的话。
<tal:block
tal:define="our_url context/@@plone_context_state/canonical_object_url;
home_url context/@@plone_portal_state/portal_url;"
tal:condition="python:our_url == home_url">
HERE GOES YOUR STUFF
</tal:block>
@@plone_context_state 和 @@plone_portal_state 的伟大之处在于它们可以处理各种奇怪的边缘情况。即使您正在查看门户根目录中附加了查询字符串的默认页面, context/@@plone_context_state/canonical_object_url 也会返回正确的、最基本的对象 url :-)
其他提示
我使用类似的东西来斧:
<tal:block define="global currentUrl request/getURL" condition="python: u'home' not in str(currentUrl)">
<!-- whatever -->
</tal:block>
怎么样像<tal:condition="python: request.URLPATH0 == '/index_html'
...>`?看到 TALES内置名称和 Zope的API参考获得更多的选择。
不隶属于 StackOverflow