Domanda

Sto cercando di personalizzare il portlet "Evento" in Plone 3 che mostra i prossimi appuntamenti. Il link "Visualizza" nel piè di pagina che va portlet all'URL / eventi. Ma il mio sito è multilingue in modo che l'URL non è sempre corretta. Ad esempio, l'URL corretto per gli eventi olandese dovrebbe essere / Evenementen.

Nel mio setup io uso una cartella per ogni lingua. / It contiene tutti contenuti in inglese, / nl detiene tutti i contenuti olandese, eccetera. La radice Plone non ha portlet così aggiungo il portlet "Evento" sia al / nl e / it cartella a parte. Stavo guardando nella ZMI al modello events.pt e sembra che ci vuole l'URL da una proprietà, ma dove è che proprietà definisce e come posso cambiare? Non riesco a trovare le configurazioni portlet nella ZMI. Ecco il frammento dal plone.app.portlets.portlets / events.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>

Quindi, posso cambiare qualche parte che all_events_link proprietà nella ZMI? Se sì, dove?

In alternativa ho anche tentato di aggiungere un portlet "Collection" con una collezione in cui sono elencati tutti gli eventi. Ma il problema è che il portlet raccolta non vuole indicare le date di inizio e fine per gli eventi.

È stato utile?

Soluzione

Il portlet eventi utilizza al fine di fornire con i dati, e l'espressione 'vista / all_events_link' chiama un metodo su quella vista di dotarla di un link. Hai 2 opzioni per sostituire quel link:

  1. registrare il proprio portlet evento che le sottoclassi quello vecchio, e sostituisce il metodo all_events_link. Questa in opzione di personalizzazione pesante, e richiede la codifica Python. Vedere questo thread di posta su alcune indicazioni generali su come raggiungere questo obiettivo.

  2. sostituire solo il modello con un portlet renderer. Martin Aspeli ha documentato questo metodo su Plone.org ; questo richiede solo un po 'di configurazione ZCML da far funzionare. È quindi possibile copiare il modello events.pt e sostituire il piè di pagina portlet con uno che si collega alla giusta posizione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top