跳转到主要内容

Plone插件,添加组件面板。

项目描述

面板是一组在不同布局配置中出现的组件,您可以将它们插入到Plone现有位置的选定位置(页面内容上方和下方、门户页眉和页脚)。

它旨在使一些现有的插件变得过时,包括Collagecollective.portletpageProducts.ContentWellPortlets。这些插件的功能大部分也在面板中可用,并且是在Plone组件框架的基础上直接实现的。

在 Carlos de la Guardia 的 collective.cover 中,仍然在开发中的一种替代方案。它支持许多高级用例,主要与工作流程和安全相关。Panels 目前除了需要“可以管理部件”的全面权限外,并不与 Plone 的权限系统集成。

兼容性:需要 Plone 4+。

介绍

您经常需要在现有的页面、内容项或文件夹中添加补充内容。

内置的部件基础设施满足了一些需求,但不是所有需求,允许您在左侧和右侧列中添加部件,这些部件继承到内容层次结构中。

Panels 提供了一种简单机制,可以将部件添加到其他位置,而不需要继承,并允许您以不同的布局显示部件。

示例

首页

除了在文件夹上作为默认内容的作用页之外,您还可以创建一个部件拼贴并将其显示在介绍性文本下方。

由于您可以将面板显示与 Plone 内置的内容视图集成,因此有很大的灵活性。例如,您可以在标准文件夹列表之外提供搜索界面。

补充静态内容

使用 Panels 在静态页面上方或下方添加部件。

特性或广告

将面板添加到“portal top”位置,默认情况下它位于章节导航下方,以产生令人印象深刻的效果。

文档

用法

要创建新面板或管理现有面板,编辑器点击页脚中出现的“管理面板”链接(它链接到 @@manage-panels)——类似于 Plone 的列部件。

管理视图是默认内容视图的叠加。

创建新面板

要创建新面板,页面标题(“添加面板”)下方会出现一个可折叠表单。

如果没有现有面板,则添加表单最初是打开的。

然后,只需选择位置(已提供默认选择),然后选择布局。然后使用“管理面板”表单(参见下文)添加部件。

管理现有面板

在管理界面中,现有面板下方会出现一个可折叠表单(“管理面板”)。

这类似于 Plone 的标准部件界面,并且实际上直接使用它。

它提供了添加新部件、更改面板布局或管理现有部件分配的选项。

位置

管理界面会检查 Plone 的视图小部件可见性设置,仅列出适用的添加位置。这允许管理员访问门户的 @@manage-viewlets 屏幕,并对面板位置进行限制。

目前不支持添加更多位置。这里的限制在于 Plone 的视图小部件管理器框架不提供标签或其他枚举。

布局

每个面板都有一个布局选项,在面板首次添加时选择,以后可以更改。这些布局使用包含的 ZCML-指令注册为组件。

使用指令添加更多布局

<browser:panel
    name="example"
    title="Example"
    template="templates/example.pt"
    layer=".interfaces.IThemeSpecific"
    />

许可

GPLv3 (https://gnu.ac.cn/licenses/gpl.html).

作者

Malthe Borch <mborch@gmail.com>

变更

1.11 (2017-03-27)

  • getId 返回的字符串必须是字符串(不是 Unicode)。[malthe]

1.10 (2017-03-02)

  • 添加选项以将(所有)部件从特定位置的面板移动到另一个位置的面板中,例如将内容上方的部件移动到另一个位置的新面板中。布局选择被保留。[malthe]

  • 卸载配置文件 [sunew]

1.9 (2016-04-12)

  • 仅当面板包含一个或多个面板实例时才显示每个面板 HTML 容器元素。[malthe]

  • 添加可选标题字段,如果设置,则立即在面板之前渲染。[malthe]

  • 添加芬兰本地化[datakurre]

1.8 (2014-12-15)

  • 将CSS浏览器资源移动到专用资源目录。包括升级步骤。[thet]

  • 将模板移动到专用模板目录,并将布局模板移动到布局目录。[thet]

  • Plone 4.3.4 兼容性:在端口渲染器上保存 __portlet_metadata__。[sunew]

  • 键不应为unicode(遍历错误)。[sunew]

  • 到Plone内容对象(“父对象”)的aq链长度可能因渲染位置而异。向上遍历aq链,直到超出嵌套面板、端口分配和面板管理器。当渲染面板时,链可能很长,例如在页脚、面板端口编辑表单中。[sunew]

  • 使用父路径作为键(Plone内容对象),而不是面板路径。键用于端口中URL的转换,因此这避免了类似 http://domain.com/++panel++plone-portalfooter/1/contact-info 的URL。[sunew]

  • 永远不要捕获ConflictErrors。[sunew]

1.7 (2014-04-24)

错误修复

  • 为将注册表从发布版1.5升级到发布版1.6添加缺少的升级步骤。如果您已经通过卸载/重新安装产品成功更新到1.6,则不需要此步骤,这就是为什么它在从collective.panels 1.5来的1.0 -> 1.1元数据.xml版本升级中是回溯的。[fredvd]

  • 如果portlet.available是一个属性,它可能会抛出一个异常,这将使整个页面渲染失败。[bosim]

特性

  • 添加了垂直布局。[bosim]

  • 添加了Plone Classic主题缺少的样式。Plone Classic主题没有Sunburst主题中存在的基于网格的样式。这次提交中添加的样式允许当使用的主题是Plone Classic或基于它的主题时,使用面板的基于网格的样式。[afrepues]

杂项

  • 当设置不可用(通常可以通过配置文件更新解决)时,显示警告而不是错误。[bosim]

  • 更新了丹麦翻译[bosim]

  • 添加荷兰翻译,更新 .po 文件。添加 rebuild_i18n.sh 脚本。[fredvd]

1.6 (2013-11-04)

特性

  • 添加了 navigation_local 选项 - 用于在 INavigationRoot 上设置本地面板管理器而不是 ISiteRoot。例如,对于多语言内容模块很有用。[tmog]

错误修复

  • 由于 plone.app.portlets 依赖项已被删除,因此重新设计了面板的排列操作。[bosim]

1.5 (2012-10-12)

特性

  • 添加了复制现有面板的功能。

  • “管理面板”表单现在有更好的默认样式。

错误修复

  • 修复了“添加面板”操作。

1.4 (2012-10-12)

特性

  • 端口列间距,以及左、右边距的省略现在是全局设置,间距可以用浮点数表示,为可用宽度的百分比。

    以前,每个面板都有一个间距选项。

    因此,现在HTML使用CSS类来控制宽度和位置(以前是内联样式)。[chervol]

实现

  • 持久的 Panel 类现在继承自新的 PortletContainerAssignment 类,这是一个可以包含其他端口的端口分配。这是一个通用基类,其他端口分配可以使用。[sunew]

1.3.2 (2012-06-15)

错误修复

  • 修复了模板兼容性问题。

1.3.1 (2012-06-15)

特性

  • 为面板元素添加了 panel-${n} 类。

  • 为渲染端口的包装元素添加了 portlet-${n} 类。

  • 面板元素现在有一个与布局ID匹配的类。

  • 添加了新的间距“small”,设置为0.55%。

1.3 (2012-06-15)

特性

  • 现在可以将面板位置配置为最近的站点上下文局部。例如,可以将页脚管理器配置为这种方式,以便可以使用面板创建站点页脚(它将在该站点内的所有页面上显示)。

  • 布局现在必须有一个描述属性,该属性将在“管理面板”字段集中显示(而不是通常很短且缺乏描述性的标题)。

错误修复

  • 修复了错误信息无法正确渲染的问题。

  • 修复了问题 #9:“在迭代视图管理器时遇到意外的非类对象”。

1.2.3 (2012-06-08)

错误修复

  • 缺少portlet settings 字典。这虽然不是严格意义上的错误,但 IPortletAssignmentSettings API 存在是为了向列渲染器提供此类信息,我们也应该为portlet渲染器包装模板提供它。

  • 面板管理器必须提供 get 方法。这修复了问题 #8。

1.2.2 (2012-05-18)

错误修复

  • 修复了一个问题,即添加面板时版本控制工具无法检查文档。这修复了问题 #5。

1.2.1 (2012-05-17)

错误修复

  • 修复了不兼容模板语法的问题。

  • 修复了一个问题,即当面板未被获取包装时,面板无法正确返回表示字符串。这解决了问题 #5(但最终并没有完全修复)。

1.2 (2012-05-16)

特性

  • 添加了三个新的垂直布局,分别分配了1/3、1/2和2/3的页面宽度。

  • 添加了选择标准、双倍或三倍间距的选项,所有这些都以页面宽度的百分比给出。

错误修复

  • 修复了一个问题,该问题使得无法将面板添加到标记为私有的内容中(请求会被拒绝)。这修复了问题 #6。

  • 视图和资源现在注册到包特定的浏览器层。这确保了除非产品已安装,否则用户界面不可用(问题 #7)。

1.1 (2012-05-15)

变更

  • 布局标题现在是简单的字母:A、B、C等。为每个布局提供简短、描述性的标题变得很困难。

特性

  • 改进了添加界面的样式。

  • 添加了两个新的水平布局,分别为最左边的分配和最右边的分配分配了固定的1/3宽度。

翻译

  • 添加了丹麦翻译。

错误修复

  • 修复了单次分配时布局“左侧”的问题。

  • 现在,可添加的portlet检查对配置错误的添加视图具有鲁棒性,并将记录警告而不是让异常继续传递。

  • 分配现在具有唯一的名称。例如,如果添加了两个日历分配,第二个分配将名称为“calendar-1”。

  • 面板信息哈希现在正确地编码了一个有效的portlet管理器。这修复了KSS启用的portlet操作不正确的问题。

  • 面板分配类和遍历器现在从 OFS.Traversable.Traversable 继承并实现 getId 方法。这修复了物理路径无法正确计算的问题。

1.0.2 (2012-04-19)

错误修复

  • 修复了无法将portlet添加到除了给定管理器中的第一个面板之外的其他面板的问题。这修复了问题 #3。

1.0.1 (2012-04-17)

错误修复

  • 修复了模板格式化问题。

  • 添加了来自Plone列渲染器的标记,将每个portlet包裹在一个提供唯一portlet哈希的结构中。同时,使用“安全”的渲染方法,以便渲染可以优雅地失败。

1.0 (2012-04-12)

  • 首次公开发布。

项目详细信息


下载文件

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

源代码发行版

collective.panels-1.11.tar.gz (34.0 kB 查看哈希值)

上传时间 源代码

支持者