跳转到主要内容

用于在Plone中创建页面拼贴的产品。

项目描述

https://travis-ci.org/collective/Products.Collage.svg https://coveralls.io/repos/collective/Products.Collage/badge.svg?branch=master&service=github

概述

拼贴是一款产品,允许编辑器将来自多个来源的新内容或现有内容对齐在布局中。此类页面的一个例子是展示文档以及一个或多个集合的页面。

存在几个附加产品,允许您包含组件、表单甚至其他网站。

兼容性

测试正在针对以下运行

  • Plone 4.1.10

  • Plone 4.2.7

  • Plone 4.3.7

  • Plone 4.3.7与Products.LinguaPlone

状态

稳定;在生产中使用。

开发

请向问题跟踪器报告问题。文件docs/DEVELOPER.txt描述了如何通过支持自定义内容类型和附加渲染器来扩展产品。

升级

如果您在文件系统中升级了Products.Collage,请在ZMI中打开/your/plone/site/portal_setup并点击“升级”选项卡。

选择Products.Collage:default配置文件,查看是否提供升级。运行它们:D

鸣谢

开发

翻译

拼贴图标来自Mark James的《Silk Icon Theme》(CCA 2.5)。

赞助商

本产品的开发得到了Headnet(http://www.headnet.dk)、莱斯特大学和EDF(http://www.edf.fr)的赞助。

拼贴开发者文档

拼贴产品被构建得易于自定义。

内容视图

可以通过注册带有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'

特定主题的内容视图

如果您只想为使用特定主题产品的网站添加新视图或覆盖现有视图,则必须注册特定主题的拼贴层。(我们无法重用正常的特定主题层,因为这样就没有办法知道该视图是拼贴视图)。

要添加特定主题的拼贴层,请使用以下ZCML

<interface
    interface=".path.to.IMyCollageThemeLayer"
    type="Products.Collage.interfaces.ICollageBrowserLayerType"
    name="Plone Default"
    />

其中interface属性是您定义的自定义标记接口,name属性是要与此层关联的CMF主题的名称。

然后您可以在视图ZCML注册中使用layer=“.path.to.interfaces.IMyCollageThemeLayer”,而不是Products.Collage.interfaces.ICollageBrowserLayer。

皮肤视图

可以通过在以下注册命名实用工具来添加新的皮肤视图

MySkin/browser/skins.zcml

例如,可以为视图“my-view”注册一个皮肤“Alert”,如下所示

<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")

在 MySkin/interfaces.py 中添加 IAlertSkin

from zope import interface
class IAlertSkin(interface.Interface):
     """Interface for alert skins views."""

要将此皮肤关联到视图,您必须添加皮肤实现的接口

class MyDocumentView(BrowserView):
    title = u'My view'
    skinInterfaces = (IAlertSkin,)

注意,对于已经可以皮肤化的 portlets 视图,您不需要上述内容。

最后,在样式表中添加您的 CSS 规则

#collage .collage-my-view-alert {
 ...

}

注意,如果您正在使用 CSS 注册表的“合并 CSS 组合”,则您的样式表必须放在“collage.css”之后,并使用与前者相同的条件

object/@@collage|nothing

Products.Collage提供了一个基本的皮肤化演示。请参阅 skindemo 文件夹(通常以 skindemo/README.txt 为起点)。

内容控件

内容控件作为视图小部件注册。请参阅 ./browser/viewlets.zcml 以获取示例。

变更日志

1.4.0 (2015-12-11)

  • 改进:没有显式目标设置的翻译别名现在回退到规范目标。[jensens]

  • 改进:将测试迁移到 plone.app.testing。[jensens]

  • 修复:网站管理员可以添加 Collage。[jensens]

  • 改进:使用 plone.api 和清理实用工具。[jensens]

  • 代码风格:更多的 pep8,使代码分析满意,排序导入。[jensens]

  • 修复测试:LinguaPlone 的返回值在输出中,但没有进行检查。[jensens]

  • 将 CSS 渲染模式更改为链接,以便可以与其他链接渲染的资源合并。[thet]

1.3.11 (2014-10-08)

  • jQuery 相关的修复。[thet]

  • 添加卸载配置文件。[thet]

  • 修复重新排序。[cippino, erral]

  • 箭头图像现在是 PNG 文件而不是 GIF。[erral]

  • 添加了对 p.a.multilingual 的初始支持。[sneridagh]

1.3.10 (2013-10-22)

  • 添加了对 plone.app.contenttypes 的支持。[benniboy, jensens]

1.3.9 (2013-07-01)

  • 修复了 html 错误 [Andrew Pasquale]

  • 删除了 relatedItems 宏。此宏来自已停用的 plone_deprecated 皮肤文件夹,该文件夹默认情况下在 plone 4.3 中已停用。relatedItems 现在作为视图小部件实现。[Victor Fernandez de Alba]

  • 条件 zcml 配置更新。IContainer 接口已移动。现在 zcml 声明支持两个位置。[Rodrigo]

1.3.8 (2012-10-31)

  • 已迁移到 github。[maurits]

  • 为 plone.app.collection 添加了视图:目前为标准视图和摘要视图。[jensens]

  • 在重新索引时获取辅助函数周围添加了 try-except 块。这并非严格属于我们的问题,但我仍然将其视为稳定性改进。[tmog]

  • 在 Zope 2.13 上删除了弃用警告:Products.ATReferenceBrowserWidget 已移动到 archetypes.referencebrowserwidget DTMLFile 已弃用。从 App.special_dtml 导入。[toutpt]

  • 如果没有可搜索的文本,则不要将 SearchableText 添加到目录查询中。与 solr 集成存在一些问题。[tom_gross]

  • 如果对象在 referencebrowser 中没有标题,则回退到 Id。[tom_gross]

1.3.7 (2011-11-16)

  • 为 Plone 4.1 添加了 CMFCore permissions.zcml 的条件包含。[thet, tom_gross]

  • 添加了额外的渲染器,该渲染器尊重有效和过期日期。[tom_gross]

  • 恢复了 Plone 3 的主题摘要视图。[tom_gross]

1.3.6 (2011-07-05)

  • 更新了捕获异常的集合;位置错误异常仅在 2.10+ 中。我们回退到属性错误。此外,将列表缩小到可能由于环境错误而引发的异常。[malthe]

1.3.5 (2011-07-04)

  • 在组合中渲染内容时捕获名称、类型、值和位置错误,但显示警告(状态消息)。

    这允许用户在系统损坏的情况下切换到备用布局。[malthe]

  • 更改了别名的主题视图,以便仅显示初始批次(无分页)。此外,这些视图中的标题现在是可点击的,并指向引用的主题。

    这使主题视图在已显示现有主题的一般情况下不太繁忙。

    请注意,在组合内创建的主题保留其现有的行为。[malthe]

1.3.4 (2011-07-01)

  • 修复了主题模板,以便 H2 标题不会标记为 'documentFirstHeading'。[malthe]

1.3.3 (2011-07-01)

  • 修复了主题模板,使用的是 H2 标题,而不是 H1。 [malthe]

1.3.2 (2011-07-01)

  • 修复了 topic_album 模板中的错误表达。 [malthe]

1.3.1 (2011-06-08)

  • 修复了 Plone 4 中集合的 Collage 中的 folder_summary_view - 宏不再存在。现在代码已复制到这里:虽然不是最优解,但在这里没有更好的办法(不触及 Plone 本身)。 [jensens]

  • 使 现有项目 视图与 LinguaPlone 兼容。使用导航根作为默认查询路径,并也提供参数 Language,设置为 "all",这样我们可以获取当前导航根下出现的任何对象,无论会话语言如何。 [malthe]

  • 修复了在 Plone 4.1 中更改的导入。 [malthe]

  • 将 Plone 3 中的图像和文件视图的接口注册更改,以允许使用 p.a.blob 图像和文件替换类型。 [dunlapm]

  • 更新插入当前/新项目菜单,以使用 Plone 4 方法获取类型图标(如果可用)。 [dunlapm]

1.3.0-final (2010-10-22)

  • 添加缺少的 Products.Archetypes 到设置依赖项。 [thet]

  • 在 ColageColumns 的 actions-viewlet 中显示文件夹内容操作。这允许浏览和编辑在拼贴列中创建的各个对象。 [thet]

  • 在默认设置配置文件和最后升级步骤中包含新属性,以符合 ‘rnix’ 和 ‘khink’ 的新功能。 [glenfant]

  • Plone 3 支持已恢复。Plone 4 没有变化 [glenfant]

  • 修复 #85 - 添加新的事件中断拼贴视图 [yboussard]

  • 图像和文件布局与 blob 对象兼容。 [thomasdesvenain]

  • 修复了许多国际化问题。 [thomasdesvenain]

  • 更新了法语翻译。 [thomasdesvenain]

  • 同步 i18n/collage-xx.po 文件。 [thomasdesvenain]

  • 每批列数可通过 @@collage-controlpanel 配置。添加了对 4 列和 5 列布局(CSS 和模板)的支持。 [khink]

1.3.0-b4 (2010-04-06)

  • 修复了由于类型断言错误,在 Plone 4 中不会显示布局视图的问题。

  • 别名内容的类型图标现在显示为带有边框的“别名”标签。

  • 修复了 Plone 4 上的 UI 样式问题。

  • Chameleon 兼容性修复。

1.3.0-b3 (2010-02-04)

  • Plone 4 兼容性。 [malthe]

  • 新图标。 [malthe]

1.3.0-b2 (2010-01-17)

  • 添加了继承自主题内容对象的视图设置的“主题”视图。[malthe]

  • 添加了用于表格和摘要显示的主题视图。[malthe]

  • 修复了当你选择了一个缺失的布局时无法选择标准布局的问题(这可能会发生如果已删除扩展产品)。 [malthe]

  • 同步 i18n/collage-xx.po 文件(添加了 10 条消息,删除了 5 条) [glenfant]

  • 添加了一个 GS 升级步骤到 1.3.0 [glenfant]

1.3.0-b1 (2010-01-09)

  • 调整了行渲染器对模板参数的使用,以与 Zope 2.12 兼容。 [davisagli]

  • 现在使用一个基于 ajax 的引用浏览器(自定义实现)来插入别名,该浏览器的工作方式类似于标准的 Plone 引用浏览器小部件。 [malthe]

  • 当布局无法渲染时,优雅地(并且有信息性地)失败。[malthe]

  • 将“拆分列”操作移动到行。[malthe]

  • 清理了布局样式表。[malthe]

  • 修复了阻止内联编辑正常工作的错误。[malthe]

  • 更改用户界面外观。[malthe]

  • 添加了表单保护。[malthe]

  • 重新连接了编写视图,以简化模板并避免不必要的间接引用。[malthe]

  • 将“管理页面”重命名为“编写”。[malthe]

  • 将设置字段移动到设置模式。添加了字段说明。[malthe]

1.2.3 (2009-11-02)

  • 修复了在添加别名时提到的#57中的搜索错误。[glenfant]

  • 解决了在问题#60中提到的IE CSS错误。感谢Kevin Deldycke。[glenfant]

  • 同步了所有与最新标签的.po文件,并更新了*-fr.po文件。拼贴翻译者,新的.po文件正在等待您的输入。[glenfant]

  • 根据jensens对类型白名单的更改,相应地更改了测试。[glenfant]

  • 在别名目标删除时,别名布局重置为“标准”。这给内容作者提供了删除别名的机会,而不是显示“错误:找不到布局”。这解决了#63。[glenfant]

  • 更新JavaScript,不再使用保留函数postMessage。这解决了#54。[dunlapm]

  • 更新了法语翻译(微小的语义改进)。[kdeldycke]

  • 在升级步骤中添加alias_whitelist属性时,如果该属性已存在,则避免BadRequest错误。您通常可以无故障地运行升级步骤两次。[maurits]

  • 为文件添加了一个有用的非常简化的“最小”视图。[jensens]

  • 从拼贴属性 -> 类型白名单中删除了类型“文件夹”。将文件夹直接添加到拼贴中并没有太大意义(并且会使用户感到困惑)。如果有人真的需要它,可以稍微努力一下来启用它。[jensens]

  • 使拼贴字段:show_title、show_description和index_subobjects语言独立。[jensens]

  • 修复了文档中添加插件包(第三方内容类型)的过时URL。[glenfant]

1.2.2 (2009-06-07)

  • UID可以以数字开头。id属性值的命名约定不能以数字开头。视图现在使用:string:title-${view/getUniqueIdentifier},它始终以t开头。[jladage]

  • 在标准文档中不要渲染空描述。[jensens]

  • 在Plone 3中,贡献者是添加内容的人。因此,“添加拼贴内容”的默认角色现在是贡献者,除了所有者和管理员外。[jensens]

  • 不要假设视图始终可用:添加了错误视图作为后备。这极大地帮助了开发,并且在站点配置有问题时不会向用户暴露丑陋的跟踪记录。还进行了轻微的清理和修复了测试。[jensens]

  • 为删除/移除操作添加了确认弹出窗口。[jensens]

  • 使视图组件遵循相同的范式。根据可用性思想重新排序它们。将可展开内容转换为叠加框。[jensens]

  • 将添加行转换为菜单。修复了循环导入问题,而不是丑陋的工作方式。[jensens]

  • 添加了升级步骤到1.2.2,该步骤添加了别名白名单属性,没有它控制面板会崩溃。[glenfant]

  • 同步了所有.jpo文件,并添加了法语缺失的标签。[glenfant]

  • 在拼贴中添加的类型和启用别名的类型之间做出区分。这引入了控制面板中的新白名单。[jensens]

  • “自动拆分超过3个条目的行”功能已损坏。现在已修复。我还添加了一个非批处理视图供行使用。[jensens]

  • 几乎完成了德语翻译。[jensens]

  • 添加了荷兰语翻译(nl)。[reinout]

  • 添加了葡萄牙语(pt)翻译。[igbun]

  • 为拼贴块添加了额外的CSS类,以便更容易地为特定位置、内容类型或拼贴视图名称应用样式。[davisagli]

  • collage.css.dtml中的错别字。[glenfant]

  • 修复了布局不会正确查找别名的错误。[malthe]

  • 添加了对主题特定Collage视图覆盖的支持。有关详细信息,请参阅DEVELOPERS.txt。[davisagli]

  • 更新并同步了法语和英语翻译。[kdeldycke]

拼贴1.2.1(2008-12-10)

https://svn.plone.org/collective/Products.Collage/tags/1.2.1/

  • 将events.py模块中的事件处理程序移动。[glenfant]

  • 修复了搜索错误(类型名称中的空格或非ascii可搜索文本)。找到的项目标题会根据其工作流程状态着色,就像在folder_contents(…)中一样。[glenfant]

  • 在主题视图中使用 folder_summary_view 而不是 folder_listing。这解决了问题 #43。[malthe]

  • 在配置面板中添加了别名目标搜索限制。[glenfant]

  • 对现有项目视图进行了优化,包括链接到目标。[glenfant]

  • 由于我们不能再在 Plone 3.0 或更早版本中使用,因此已移除对旧 Plone 的代码支持。[glenfant]

  • 尽可能地进行缓存以加快视图速度(不确定是否全面)。[glenfant]

  • 由于控制面板,新增了翻译,并添加了翻译同步脚本。[glenfant]

  • 修复了 @@collage_helper 上的错误。[glenfant]

  • 添加了用于 Collage 内部内容类型白名单的控制面板。[glenfant]

  • Collage 现在兼容 LinguaPlone,因此 Collage 元素现在可翻译。[erral]

  • 渲染器:如果规范对象上定义了布局,但翻译上没有定义,现在将使用规范版本的布局设置,而不是默认设置。(除非明确定义,否则语言版本应相同。)[thomasw]

  • 添加了巴斯克语(eu)和西班牙语(es)的翻译。[erral]

  • 为 GenericSetup 升级脚本添加了安全带。[glenfant]

  • 为 Collage 中新增的布尔值添加了翻译条目。[glenfant]

  • 由于 Collage 对象可能不相关(例如:仅包含文件内容的 Collage),现在 Collage 子内容索引成为可选功能。[glenfant]

  • 为 Collage 扩展组件(添加皮肤、内容类型支持等)添加了 utilities.getFSVersionTuple。[glenfant]

  • version.txt 现在是 major.minor.bugfix-[beta],以便与 metadata.xml/version 同步(在需要升级步骤时)并符合上面的 getFSVersionTuple。[glenfant]

  • 添加了缺少的事件相关翻译。[kdeldycke]

Collage 1.2.0 beta 3(2008-08-15)

https://svn.plone.org/collective/Products.Collage/tags/1.2b3

  • 打包为 python egg 并在 pypi 上发布。[davisagli]

  • 重命名内置的端口皮肤,并给予它们最小的 CSS。[glenfant]

  • 重新使用 ATContentTypes.content.schemata.ATContentTypesSchema,并删除了我们模式定义中的复制/粘贴代码部分。[glenfant]

  • 移除了 CMF 皮肤层“Collage”,并将其内容散布在 Zope 3 风格的浏览器资源和页面上(CSS)。为此添加了一个升级步骤。[glenfant]

  • 在模式中使用 MessageFactory 进行标签和描述。代码更紧凑,并且对 i18ndude 友好。[glenfant]

  • 为实用工具添加了单元测试。[glenfant]

Collage 1.2.0 beta 2

https://svn.plone.org/collective/Collage/tags/1.2.0beta2

  • 为 1.2.0 添加了 GenericSetup 升级步骤。[glenfant]

  • 删除了无用的文件夹和 Plone 站点类型设置。[glenfant]

Collage 1.2.0 beta 1

https://svn.plone.org/collective/Collage/tags/1.2.0beta1

  • 为端口添加了皮肤演示。[glenfant]

  • 使用 pyflakes 进行代码清理。[glenfant]

  • 使用 ZCML 注册皮肤。[glenfant]

  • 现在版本是 3 位数(major.minor.bugfix),与大多数组件一样。[glenfant]

  • Extensions/*(安装脚本)现在已无用。已删除。[glenfant]

  • 在创建对象时,GS 配置文件中移除了 meta_type 属性(根据 MArtin Aspeli,这可能是有害的)。[glenfant]

  • 在模板中定义“视图”变量是有害的。已重命名为 kssview(通常)。[glenfant]

  • 由于我无法理解的原因,只有当在 <span metal:define-macro …> 或 <div metal:define-macro …> 中时,KSS 编辑的模板宏才能正常工作。[glenfant]

  • 否则 KSS 会发出警报。我们必须在每个 xx_portlet.pt 视图中将每个字段放在自己的宏中。[glenfant]

  • 使端口可定制(重新引入了 zegor 分支的一些内容)。[glenfant]

  • 修复了剪贴板标题中的 Unicode 错误(重新引入了 zegor 分支中的修复)。[glenfant]

  • 我讨厌制表符缩进(在每个需要更改的文件中都移除了制表符)。[glenfant]

  • 进行了一些简单的代码重构:主分支不再支持 Plone 2.x 及更早版本。[glenfant]

  • 为 Python 中的 i18ndude 添加了一些标记。[glenfant]

  • 将测试移动(并添加)到“tests”目录。[glenfant]

  • 为i18ndude准备模板,i18ndude在ZPT更宽容时发现了格式错误。[glenfant]

  • 使分割和展开图标透明。[malthe]

  • 添加了可点击的链接视图。

  • 简化了视图类名。[malthe]

  • 移除了注释黑客攻击(我们现在期望内容是IAnnotatable)。[malthe]

  • 图像标准显示现在显示实际图像而不是其预览。这导致在显示拼贴画中的大图像时放大时出现问题。[rockdj]

拼贴版1.1

https://svn.plone.org/collective/Collage/tags/1.1

  • 各种错误修复。[malthe]

  • 不再包含jQuery。[malthe]

  • 在内容菜单中显示锁定视图。[malthe]

  • 修复了jQuery集成问题。[malthe]

拼贴版1.0

https://svn.plone.org/collective/Collage/tags/1.0-final

  • 在existing_items中添加了搜索文本字段以在大型网站上查找项目。感谢Silvio Tomatis提供的补丁。这解决了http://plone.org/products/collage/issues/12问题。[zegor]

  • 将manage_page重命名为compose_page以避免ZMI过滤访问问题。[zegor]

  • 在manage_page上添加了边框以区分行、列和项目。[zegor]

  • 添加了“portlets”视图。[zegor]

  • 行、列和别名在portal_catalog中未索引。[zegor]

  • 不显示权限不足的别名。[zegor]

  • 使集合项目的大小起作用,并添加了“更多”按钮。[regebro]

  • 为ATLink、ATFile和ATNewsItem添加了内容视图。[zegor]

  • 修复了一些i18n问题,添加了英文和法语文件夹,并重新同步po文件与pot。[zegor]

  • 不与Plone 3.0一起显示共享和属性选项卡。[zegor]

  • 将.metadata添加到缓存图标中。[zegor]

  • 添加了delete-object视图方法以避免重定向到confirmation_form。[zegor]

  • 重构代码库。

    将代码从./browser/browser.py移动到单独的文件。

    新的目录结构

    ./browser/viewlets 视图模板 ./browser/views 内容视图模板 ./browser/templates 拼贴UI模板

    Zope 3配置文件

    configuration.zcml 拼贴UI和功能视图 views.zcml 内容视图 actions.zcml UI动作(插入、分割等) viewlets.zcml UI配置

    [malthe]

  • 正确嵌套标题

    让我们有一个“安全”的结构:<h1>拼贴标题 <h2>可以是一个行标题和/或对象项目 http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/#tech-logical-headings

    [pelle]

  • 添加了HISTORY文件

    让我们再次使用此文件来记录更改…

    [pelle]

项目详细信息


下载文件

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

源分发

Products.Collage-1.4.0.tar.gz (113.3 kB 查看散列

上传于

支持