ZPTを使用してPloneウェブサイトのホームページであるかどうかを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/651009

質問

ホームページでない場合にのみ、ウェブサイトのヘッダーを変更したい。そのための tal:condition 式はありますか?

これを読んでいて、探しているものが見つからない...

ありがとう!

役に立ちましたか?

解決

最良の方法は、この目的のためだけに意図された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リファレンスをご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top