Plone插件,添加组件面板。
项目描述
面板是一组在不同布局配置中出现的组件,您可以将它们插入到Plone现有位置的选定位置(页面内容上方和下方、门户页眉和页脚)。
它旨在使一些现有的插件变得过时,包括Collage、collective.portletpage和Products.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).
变更
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1e759c63e2e5b7ab1e35102ee8b80253de67219c9775da164d8d880505809321 |
|
MD5 | fe42cfefb53ae1e446bb8413e60936fa |
|
BLAKE2b-256 | 22b94ba6a0dfe3856c4d5196cbbe52ccdd4d933cdff8df58bea1e44bac21b890 |