¿Cómo verifico si es la página de inicio en un sitio web de Plone usando ZPT?
-
19-08-2019 - |
Pregunta
Quiero cambiar el encabezado de mi sitio web solo si no es la página de inicio. ¿Existe una expresión tal: condition para eso?
He estado leyendo esto y no puedo encontrar lo que estoy buscando. ...
¡gracias!
Solución
La mejor manera es usar dos vistas de plone realmente útiles que estén destinadas solo para este propósito. La interfaz que los define está en https://svn.plone.org/svn/plone/plone.app.layout/trunk/plone/app/layout/globals/interfaces.py , en caso de que desee comprobarlo.
<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>
Lo mejor de @@ plone_context_state y @@ plone_portal_state es que manejan todo tipo de casos extraños. context / @@ plone_context_state / canonical_object_url también devuelve la url derecha, más básica del objeto, incluso cuando está viendo la página predeterminada en la raíz del portal con una cadena de consulta añadida :-)
Otros consejos
Yo uso algo similar a ax:
<tal:block define="global currentUrl request/getURL" condition="python: u'home' not in str(currentUrl)">
<!-- whatever -->
</tal:block>
¿qué tal algo como <tal:condition="python: request.URLPATH0 == '/index_html'
... > `? consulte TALES Nombres integrados y el Zope API Reference para más opciones.