Como faço para verificar se é a página inicial de um site Plone usando ZPT?
-
19-08-2019 - |
Pergunta
Eu quero alterar o cabeçalho do meu site só isso Se não é o homepage. Existe um tal:? Condição expressão para que
Estive lendo este e não pode encontrar o que estou procurando ...
Obrigado!
Solução
A melhor maneira é usar dois pontos de vista Plone realmente úteis que são destinados apenas para esta finalidade. A interface que define-los está em https://svn.plone.org/svn/plone/plone.app.layout/trunk/plone/app/layout/globals/interfaces.py , no caso de você deseja fazer check-out.
<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>
A grande coisa sobre @@ plone_context_state e @@ plone_portal_state é que eles lidar com todos os tipos de casos de ponta estranhas. contexto / @@ plone_context_state / canonical_object_url também retorna a direita, mais básico, url do objeto, mesmo quando você estiver visualizando a página padrão na raiz portal com uma seqüência de consulta anexada: -)
Outras dicas
Eu uso algo semelhante ao machado:
<tal:block define="global currentUrl request/getURL" condition="python: u'home' not in str(currentUrl)">
<!-- whatever -->
</tal:block>
como sobre algo como <tal:condition="python: request.URLPATH0 == '/index_html'
...> `? consulte TALES os nomes nativos eo Zope API Referência para mais opções.