ZPT를 사용하여 Plone 웹 사이트의 홈페이지인지 어떻게 확인합니까?
-
19-08-2019 - |
문제
내 웹 사이트 헤더를 홈페이지가 아닌 경우에만 변경하고 싶습니다. a TAL : 조건 그것에 대한 표현?
나는 읽고 있었다 이것 그리고 내가 찾고있는 것을 찾을 수 없습니다 ...
감사해요!
해결책
가장 좋은 방법은이 목적을 위해 의도 된 두 가지 편리한 깃발보기를 사용하는 것입니다. 그것들을 정의하는 인터페이스가 있습니다 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'
...>`? 보다 이야기 내장 이름 그리고 Zope API 참조 더 많은 선택을 위해.
제휴하지 않습니다 StackOverflow