跳转到主要内容

为Plone提供moPage集成。

项目描述

简介

ftw.mopage 为anthrazit的moPage CMS提供Plone XML接口。

该包注册了树视图

  • mopage_news.xml

  • mopage_events.xml

  • mopage_geolocations.xml

如果调用视图,将在文件系统中生成新的XML文件并将其下载。

要求

该包与Plone 4.x兼容。

安装

ftw.mopage 添加到您的buildout配置中

[instance]
eggs =
  ftw.mopage

标记接口

  • IMopageExporter

  • IMopageEvent

  • IMopageGeolocation

  • IMopageNews

适配器接口

  • IMopageObjectLookup (context, request)

  • IMopageEventObjectLookup

  • IMopageNewsObjectLookup

  • IMopageGeolocationObjectLookup

  • IMopageDataProvider (context, request)

  • IMopageGeolocationDataProvider

  • IMopageEventDataProvider

  • IMopageNewsDataProvider

  • IMopageDataValidator (context, request, dataprovider)

  • IMopageGeolocationDataValidator

  • IMopageEventDataValidator

  • IMopageNewsDataValidator

  • IMopageXMLGenerator (context, request)

  • IMopageGeolocationXMLGenerator

  • IMopageEventXMLGenerator

  • IMopageNewsXMLGenerator

实现

如果您调用导出视图,将按照以下顺序执行以下步骤

获取对象

  1. 获取MopageObjectLookup多适配器

  2. 调用MopageObjectLookup的get_brains方法

获取数据

  1. 为每个对象获取MopageDataProvider多适配器

  2. 调用MopageDataProviders的get_data方法

验证数据

  1. 为每个对象的dataprovider获取MopageDataValidator多适配器

  2. 调用MopageDataValidator的validate方法

中止或继续

  1. 如果MopageDataValidator引发错误,我们将中止导出

  2. 如果MopageDataValidator验证有效,我们将继续导出数据

创建XML字符串

  1. 获取MopageXMLGenerator多适配器

  2. 调用MopageXMLGenerator的generate_xml_string方法

返回字符串

  1. 将字符串作为XML下载文件返回

用法

您需要将内容类型标记为MopageExporters。

要获取MopageExporter的数据,您需要覆盖特定的MopageDataProvider以实现数据导出。

将新内容类型标记为特定的MopageExporter

>>> from zope.interface import implements
>>> from Products.ATContentTypes.content.file import ATFile
>>> from ftw.mopage.interfaces import IMopageNews


>>> class File(ATFile):
...     implements(IFile, IMopageNews)

将现有内容类型标记为特定的MopageExporter

configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five">

    <five:implements
        class="Products.ATContentTypes.content.file.ATFile"
        interface="ftw.mopage.interfaces.IMopageNews"
    />

</configure>

覆盖特定的MopageDataProvider

configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope">

     <adapter
       for="ftw.mopage.interfaces.IMopageNews
            example.customization.browser.interfaces.IExampleCustomizatio"
       factory=".data_provider.NewsDataProvider"
       provides="ftw.mopage.interfaces.IMopageNewsDataProvider"
      />

</configure>

data_provider.py

>>> from ftw.mopage.data_provider import MopageNewsDataProvider


>>> class NewsDataProvider(MopageNewsDataProvider):

...     def get_data(self):
...
...         data = {
...             'id': 'äxx',
...             'titel': 'abc123',
...             'textmobile': 'abc123',
...             'datumvon': 'abc123',
...             'mutationsdatum': 'abc123',
...         }
...
...         return data

附加信息

在docs目录下,您可以在Anthrazit侧找到官方moPage接口文档。

变更日志

1.0 (2016-11-01)

  • 初始发布

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

ftw.mopage-1.0.tar.gz (316.3 kB 查看哈希)

上传时间

由以下机构支持