如何检查它是否是使用ZPT的Plone网站的主页?

时间:2009-03-16 15:50:22

标签: python plone zope template-tal zpt

如果不是主页,我想改变我的网站标题。是否有 tal:condition 表达式?

我一直在阅读this但找不到我要找的东西......

谢谢!

3 个答案:

答案 0 :(得分:6)

最好的方法是使用两个非常方便的plone视图,这些视图仅用于此目的。定义它们的界面位于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,即使您在门户网站根目录中查看默认页面时附加了查询字符串: - )

答案 1 :(得分:1)

我使用类似于ax的东西:

<tal:block define="global currentUrl request/getURL" condition="python: u'home' not in str(currentUrl)">

<!-- whatever -->

</tal:block>

答案 2 :(得分:0)

<tal:condition="python: request.URLPATH0 == '/index_html' ......&gt;`这样的东西怎么样?有关更多选择,请参阅TALES Built-in NamesZope API Reference