Question

Je suis en train de personnaliser l ' "Événement" portlet dans Plone 3 qui montre les événements à venir.Le lien "afficher" dans le pied de page de ce portlet va à l' /événements URL.Mais mon site est multilingue, de sorte que l'URL n'est pas toujours correcte.Par exemple, l'URL est correcte pour le néerlandais événements /evenementen.

Dans ma configuration, j'utilise un dossier par langue./fr détient la totalité des contenus en anglais, /nl détient tous les néerlandais de contenu, et cætera.Plone racine n'a pas de portlets j'ajoute donc "l'Événement" portlet à la fois à l' /nl et /fr dossier séparément.Je cherchais dans la ZMI sur les événements.pt modèle et il semble qu'il faille l'URL à partir d'une propriété, mais où est cette propriété définit et comment puis-je le changer?Je ne peux pas trouver le portlet configurations dans la ZMI.Voici l'extrait de plone.app.les portlets.les portlets/événements.pt:

<dd class="portletFooter">
    <a href=""
       class="tile"
       tal:attributes="href view/all_events_link"
       i18n:translate="box_upcoming_events">
            Upcoming events&hellip;
    </a>
    <span class="portletBottomLeft"></span>
    <span class="portletBottomRight"></span>
</dd>

Donc, puis-je quelque part le changement que all_events_link propriété dans la ZMI?Si oui, où?

Comme une alternative, j'ai aussi essayé d'ajouter une "Collection" de portlet avec une collection qui répertorie tous les événements.Mais le problème est que la collection de portlet ne veux pas afficher le début et la fin des dates pour les événements.

Était-ce utile?

La solution

Les événements portlet utilise une vue de lui fournir des données, et l'expression "vue/all_events_link' appelle une méthode sur ce point de vue de lui fournir un lien.Vous avez 2 options pour remplacer ce lien:

  1. Enregistrer votre propre événement portlet que les sous-classes de l'ancien, et remplace le all_events_link méthode.Avec les lourdes option de personnalisation, et nécessite Python de codage.Voir ce thread messagerie sur quelques indicateurs généraux sur la façon d'atteindre cet objectif.

  2. Remplacer juste le modèle avec un portlet moteur de rendu.Martin Aspeli a documenté cette méthode sur Plone.org;cela nécessite seulement quelques ZCML de configuration pour obtenir de travail.Vous pouvez ensuite copier les événements.pt modèle et remplacer le portlet pied de page avec un des liens à droite de l'emplacement.

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