Comment puis-je vérifier s'il s'agit de la page d'accueil d'un site Web Plone utilisant ZPT?

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

Question

Je souhaite modifier l'en-tête de mon site Web uniquement si ce n'est pas la page d'accueil. Existe-t-il une expression tal: condition pour cela?

J'ai lu ceci et je ne trouve pas ce que je cherche. ...

merci!

Était-ce utile?

La solution

Le meilleur moyen consiste à utiliser deux vues Plone vraiment pratiques et destinées à cet usage. L’interface qui les définit est https://svn.plone.org/svn/plone/plone.app.layout/trunk/plone/app/layout/globals/interfaces.py , au cas où vous souhaiteriez l'exécuter.

<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>

Le gros avantage de @@ plone_context_state et de @@ plone_portal_state est qu’ils gèrent toutes sortes de cas étranges. context / @@ plone_context_state / canonical_object_url renvoie également l'URL droite, la plus élémentaire, de l'objet même lorsque vous affichez la page par défaut dans la racine du portail avec une chaîne de requête ajoutée: -)

Autres conseils

J'utilise quelque chose de similaire à ax:

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

<!-- whatever -->

</tal:block>

que diriez-vous de quelque chose comme <tal:condition="python: request.URLPATH0 == '/index_html' ... > `? voir Noms intégrés TALES et le Référence de l'API Zope pour plus de choix.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top