ZPTを使用してPloneウェブサイトのホームページであるかどうかを確認するにはどうすればよいですか?
-
19-08-2019 - |
質問
解決
最良の方法は、この目的のためだけに意図された2つの本当に便利な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も返します:-)
他のヒント
Iに似たものを使用します:
<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'
... <!> gt; `のようなものはどうですか? TALES組み込み名およびその他の選択肢については、 Zope APIリファレンスをご覧ください。
所属していません StackOverflow