Вопрос

Я пытаюсь настроить портлет "Событие" в Plone 3, который показывает предстоящие события.Ссылка "просмотр" в нижнем колонтитуле этого портлета ведет к URL-адресу /events.Но мой сайт многоязычный, так что URL-адрес не всегда корректен.Например, правильный URL-адрес для событий в Голландии должен быть /evenementen.

В моей настройке я использую по одной папке для каждого языка./ru содержит весь английский контент, / nl содержит весь голландский контент и так далее.Корень plone не имеет портлетов, поэтому я добавляю портлет "Событие" как в папку / nl, так и в папку /en отдельно.Я смотрел в ZMI на шаблон events.pt и кажется, что он берет URL-адрес из свойства, но где это свойство определяется и как я могу его изменить?Я не могу найти конфигурации портлета в ZMI.Вот фрагмент из 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>

Итак, могу ли я где-нибудь изменить это свойство all_events_link в ZMI?Если да, то где?

В качестве альтернативы я также попытался добавить портлет "Коллекция" с коллекцией, в которой перечислены все события.Но проблема в том, что портлет коллекции не хочет показывать даты начала и окончания событий.

Это было полезно?

Решение

Портлет событий использует представление для предоставления ему данных, а выражение 'view/all_events_link' вызывает метод на этом представлении чтобы снабдить его ссылкой.У вас есть 2 варианта заменить эту ссылку:

  1. Зарегистрируйте свой собственный портлет событий, который является подклассом старого и заменяет метод all_events_link.Это требует интенсивной настройки и требует кодирования на Python.Видишь эта почтовая ветка о некоторых общих указаниях о том, как этого добиться.

  2. Замените только шаблон средством визуализации портлета.Мартин Аспели имеет документированный этот метод на Plone.org;для начала работы требуется только некоторая конфигурация ZCML.Затем вы можете скопировать шаблон events.pt и заменить нижний колонтитул портлета на тот, который ссылается на нужное местоположение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top