跳转到主要内容

将Plone 4相关项目视图组件移植到Plone 3

项目描述

简介

此产品仅为Plone 3开发,它将Plone 4的“相关内容”视图组件移植到旧版Plone 3。请勿在Plone 4上安装此产品。真的。

如果您有一个希望与Plone 3和Plone 4兼容的产品,并且希望保持内容视图模板为Plone 4风格,那么您可能需要此软件包。

产品详情

Plone 4中进行的最大问题之一是删除了常规视图中的相关内容区域,用更灵活的视图组件替换。

通常,每个Plone 3内容视图都包含如下代码的一部分

...
<div metal:use-macro="here/document_relateditems/macros/relatedItems">
   show related items if they exist
</div>
...

删除此代码并将其转换为视图组件是一个巨大的变化。然而,这对仍关注Plone 3兼容性的开发者来说是一个问题

  • 如果我们保持“Plone 3风格”模板(如上所述),我们将在Plone 4中看到一个重复的相关内容区域。

  • 如果我们从我们的模板中删除相关内容部分,我们将在Plone 3中看不到相关内容(因此我们删除了部分兼容性)。

但我们可以做得更好。此产品为Plone提供了一个与Plone 3兼容且具有Plone 4风格的“相关项目”视图组件。

您需要更新您的模板以使用Plone 4布局(删除显式的相关项目区域),但使其与此产品兼容。

第三方产品指南

如果您想修复一个已经使用Plone 4相关项目样式的第三方产品,以便在Plone 3上使用时不再显示相关内容,您只需修复您的buildout即可

  • collective.relateditems 添加到您的eggs

  • 将以下代码添加到.zcml文件中(明确地添加到您的一个包中,或者使用zcml-additional

    <include package="collective.relateditems" />
    <class class="your.product.content.YourContentClass">
        <implements interface="collective.relateditems.interfaces.IRelatedItemsEnabledContent"/>
    </class>

请注意,您不需要修改第三方代码内的任何内容。

您自己的产品的指南

如果您是产品开发者,并且希望您的产品完全兼容Plone 4,同时也兼容Plone 3,您还可以选择隐藏所有配置困难给用户。您需要更改您的代码。

首先,当您处于Plone 3环境中时,您需要确保您的产品基于collective.relateditems。常见的方法是在您的setup.py中检查Python版本。

>>> import os, sys
...
>>> install_requires = ['setuptools',
...                     'Products.CMFPlone',
...                     # other dependencies
...                     ]
...
>>> if sys.version_info < (2, 6):
...     install_requires.append('collective.relateditems')

然后是产品定义

>>> setup(name='your.product',
...     # more
...     install_requires=install_requires,
...     #more
... )

之后,您需要正确地定义您的configure.zcml

<configure zcml:condition="installed collective.relateditems">
    <include package="collective.relateditems" />
        <class class="your.product.content.YourContentClass">
        <implements interface="collective.relateditems.interfaces.IRelatedItemsEnabledContent"/>
    </class>
</configure>

您还可以使您的YourContentClass Python类实现IRelatedItemsEnabledContent,但您仍然需要记住,Plone 4环境将不会提供此接口。

就这些。

变更日志

0.1.0 (2011-12-29)

  • 首次发布

项目详情


下载文件

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

源分布

collective.relateditems-0.1.0.tar.gz (14.5 kB 查看哈希)

上传时间

由支持