Products.Collage 1.2.2
Совместимость
- Plone 3.1-3.3
- Five 1.5
О продукте
Он предоставляет следующие типы контента:
Первые три являются структурными контейнерами, которые обеспечивают основные функциональные возможности верстки. Исходное условие состоит в том, чтобы колонка умещалась внутри строки, которая в свою очередь вмещается внутри collage.
- Collage (Коллаж)
- Row (Ряд)
- Column (Колонка)
- Alias (Алиас)
Тип Алиас предоставлен для обеспечения отображения существующих объектов с сайта в collage.
Обновление
Если Вы обновили Products.Collage в файловой системе, откройте в ZMI файл /your/plone/site/portal_setup, и щелкните по вкладке "Обновить (Upgrade)".
Выберите профиль "Products.Collage:default" и посмотрите доступны ли обновления. Запустите их.
Функциональные возможности Javascript
Используется библиотека jquery, чтобы облегчить работу со скриптом. Для перемещения элементов контента, колонок и строк без перезагрузки страницы используется Ajax.
Поддержка для add-on пакетов
Их следует добавить к пакету collective.collage:
under ./browser/addons/<package name>
Убедитесь, что collective.collage находится в your python path, если Вы хотите, чтобы эти отображения регистрировались для использования в Collage.
См. DEVELOPER.txt, чтобы добавить поддержку для пользовательских типов и тем.
Трекер
Список участников:
Разработка:
Перевод:
- Болгарский (bg): Vladimir Iliev
- Датский (da): Jacob Vestergaard
- Немецкий (de): Roland Fasching, Jens Klein
- Английский (en): Kevin Deldycke
- Испанский (es): Mikel Larreategi
- Баскский (eu): Mikel Larreategi
- Французский (fr): Kevin Deldycke
- Итальянский (it): Yuri Carrer
- Бразильский португальский (pt-br): Danilo G. Botelho
- Каталонский (ca): Pilar Marinas
- Португальский (pt): Ricardo Alves
- Нидерландский (nl): Reinout van Rees
Спонсоры
Спонсорами работ над этим проектом были: Headnet (http://www.headnet.dk) и EDF (http://www.edf.fr)
Разработчик документации Collage
Продукт Collage был создан, чтобы облегчить его настройку.
Виды представления контента
Новые виды отображения контента можно добавить через регистрацию отображения браузером с помощью browser:page-directive. Примеры этого можно найти здесь:
./browser/views.zcml
Вид для стандартного документа может быть зарегистрирован следующим образом:
<browser:page name="my-view" for="Products.ATContentTypes.content.document.ATDocument" permission="zope.Public" template="my-view-template.pt" class=".document.MyDocumentView" layer="Products.Collage.interfaces.ICollageBrowserLayer" />
Для отображения названия, удобного для восприятия человеком, сопоставьте вид со следующим классом, помещенным в файл document.py:
from Products.Five.browser import BrowserView class MyDocumentView(BrowserView): title = u'My view'
Отображения контента определенной тематики
Если Вы хотите добавить новое отображение или отменить существующее только для сайтов, использующих продукт по одной конкретной теме, Вы должны зарегистрировать слой Collage layer по определенной теме. (Мы не можем повторно использовать нормальный слой по конкретной теме, потому что тогда невозможно будет определить какой Вид настроен в Collage view).
Чтобы добавить Collage layer по определенной теме, используйте следующий ZCML:
<interface interface=".path.to.IMyCollageThemeLayer" type="Products.Collage.interfaces.ICollageBrowserLayerType" name="Plone Default" />
где атрибут интерфейса является пользовательским marker-интерфейсом, который Вы сами определили, и атрибутом имени является имя CMF темы, с которым Вы хотите ассоциировать этот слой.
Затем Вы можете использовать layer=".path.to.interfaces.IMyCollageThemeLayer" при регистрации вида ZCML, вместо Products.Collage.interfaces.ICollageBrowserLayer.
Виды Скинов
Новые виды скинов можно добавить, зарегистрировав названную утилиту в:
MySkin/browser/skins.zcml
Например, скин "Alert" для вида "my-view" может быть зарегистрирован следующим образом:
<utility name="collage-my-view-alert" provides="Products.Collage.interfaces.IAlertSkin" factory=".skins.PortletSkin03" />
Чтобы отобразить название, удобное для восприятия человеком, мы ассоциируем утилиту со следующим классом, расположенным в skins.py:
from Products.MySkin import MyMessageFactory as _ class PortletSkin03(object): title = _(u"skin-03", default=u"My portlet skin")
Добавьте IAlertSkin в MySkin/interfaces.py:
from zope import interface class IAlertSkin(interface.Interface): """Interface for alert skins views."""
Чтобы ассоциировать этот скин с видом, Вы должны добавить интерфейсы, осуществляемые через скин:
class MyDocumentView(BrowserView): title = u'My view' skinInterfaces = (IAlertSkin,)
Обратите внимание, что Вам не нужен выше упомянутый stuff для portlets views, которые уже входят в скин.
И наконец, добавьте свои CSS-правила в stylesheet:
#collage .collage-my-view-alert { ... }
Заметим, что если Вы используете "Merge CSS composition" из реестра CSS, ваш stylesheet должен быть после "collage.css" и использовать те же условия, что и предыдущий:
object/@@collage|nothing
Products.Collage предоставляет минимальный набор демо скинов. См. папку skindemo (как обычно начните с skindemo/README.txt ).
Контроль контента
Контроль контента зарегистрирован как viewlets. См. в качестве примера ./browser/viewlets.zcml.
Оригинал статьи на pypi.python.org
Перевод ООО «Комтет» komtet.ru