为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
实现
如果您调用导出视图,将按照以下顺序执行以下步骤
获取对象
获取MopageObjectLookup多适配器
调用MopageObjectLookup的get_brains方法
获取数据
为每个对象获取MopageDataProvider多适配器
调用MopageDataProviders的get_data方法
验证数据
为每个对象的dataprovider获取MopageDataValidator多适配器
调用MopageDataValidator的validate方法
中止或继续
如果MopageDataValidator引发错误,我们将中止导出
如果MopageDataValidator验证有效,我们将继续导出数据
创建XML字符串
获取MopageXMLGenerator多适配器
调用MopageXMLGenerator的generate_xml_string方法
返回字符串
将字符串作为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接口文档。
链接
版权
本软件包版权由4teamwork所有。
ftw.mopage采用GNU通用公共许可证,版本2。
变更日志
1.0 (2016-11-01)
初始发布
项目详情
ftw.mopage-1.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eef0277bc6ec17b33c11db717ff41db71a14d63b1b763ed70b3c0f3c4f2a9221 |
|
MD5 | 7079cb3892e62c837207c2f323c3af2a |
|
BLAKE2b-256 | 528869b6cf489556aab7bb21d795ab8b4fc37295e7c0334a7039f48f5f5b5ae4 |