Как проверить, является ли это домашней страницей на веб-сайте Plone с использованием ZPT? - PullRequest
3 голосов
/ 16 марта 2009

Я хочу изменить только заголовок моего сайта, если это не домашняя страница. Для этого есть выражение tal: условие ?

Я читал это и не могу найти то, что я ищу ...

спасибо!

Ответы [ 3 ]

6 голосов
/ 07 ноября 2009

Лучший способ - использовать два действительно удобных вида 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 голос
/ 02 октября 2009

Я использую что-то похожее на топор:

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

<!-- whatever -->

</tal:block>
0 голосов
/ 16 марта 2009

как насчет чего-то вроде <tal:condition="python: request.URLPATH0 == '/index_html' ...> `? см. TALES Встроенные имена и Справочник по Zope API для большего выбора.

...