Как добавлять новый контент на верх папки в Plone-сайте
Можно использовать обработчики событий, чтобы последние созданные NewsItems размещались сверху страницы. Это полезно и для папок в стиле блогов. Этот способ не применим, при редактировании существующего контента.
Добавьте новый subscriber в configure.zcml (вы можете использовать site-policy- или theme-product):
<subscriber for="Products.ATContentTypes.interface.news.IATNewsItem zope.app.container.interfaces.IObjectAddedEvent" handler=".newsitemmover.moveToTop" />
Создайте новый файл newsitemmover.py, содержащий:
def moveToTop(obj, event): """ Moves Items to the top of its folder """ folder = obj.getParentNode() if folder != None: folder.moveObjectsToTop(obj.id)
Перезапустите Zope.
Есть некоторая сложность в выборе правильных интерфейсов для подписчика subscriber. Имейте ввиду, что IObjectAddedEvent вызывается несколько раз при добавлении NewsItem. В данном случае, это не принципиально, так как элемент не получится разместить выше, чем он уже есть.
Оригинал статьи starzel.de, перевод КОМТЕТ komtet.ru
Вам также может помочь
Plone
КОМТЕТ - специализируется на поддержке Plone хостинга. Для Plone-сайтов предназначена отдельная группа тарифов «Zope/Plone хостинг». В разделе «Plone» публикуются подробные описания релизов Plone, описания продуктов и шаблонов Plone, интересные статьи, советы и ответы на часто встречающиеся вопросы о CMS Plone, подготовленные сотрудниками хостинга.
Zope
КОМТЕТ - специализируется на поддержке Zope хостинга. Для Zope сайтов предназначена отдельная группа тарифов «Zope/Plone хостинг». В разделе «Zope» публикуются подробные описания релизов, интересные статьи, советы и ответы на часто встречающиеся вопросы о сервере приложений Zope, подготовленные сотрудниками хостинга.