Главная Библиотека CMS Plone Как добавлять новый контент на верх папки в Plone-сайте

Как добавлять новый контент на верх папки в 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, подготовленные сотрудниками хостинга.