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

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

Вопрос

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

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

Спасибо!

Это было полезно?

Решение

Лучший способ - использовать два действительно удобных вида 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 объекта, даже когда вы просматриваете страницу по умолчанию в корне портала с добавленной строкой запроса :-)

Другие советы

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

<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' ...>`?видишь Встроенные названия СКАЗОК и тот Ссылка на API Zope для большего выбора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top