CompositePack产品
项目描述
CompositePack是一个允许Plone管理员通过手动聚合其网站中的模板内容来构建复合页面的产品。
内容组合通过伪WYSIWYG用户界面(设计视图)进行。复合页面有一个布局,定义了其结构。复合元素通过视图组件显示。
布局和视图组件都是从皮肤中获取的,这意味着它们是可定制的。
布局和视图组件通过ZMI中的复合工具进行注册(下面将说明如何注册它们)。
支持的Plone版本
3.3
所需产品
- CompositePage 1.0
设计视图
设计视图支持Firefox、Mozilla和IE6。设计视图允许用户操作复合元素:添加、移动、删除或更改它们的属性。
设计视图允许您将内容添加到布局中定义的槽位。在槽位中,每个可以添加组合元素的位置都会显示一个标记为“添加项目”的菜单。当您点击它时,您会得到以下选项:“内容”、“标题”和“HTML”。您选择“内容”以从您的Plone站点选择现有内容。您选择“标题”或“HTML”以添加特定于实例的装饰内容(详细信息见下文)。
选择“内容”时,您会得到一个弹出窗口,其中您可以选择要添加到此槽位的内容。此窗口是一个kupu抽屉。它只显示“可组合”门户类型的实例(有关设置可组合内容的详细信息,请参阅下文)。您浏览您的站点,直到找到您想要显示的内容。当您点击“确定”按钮时,组合元素将被添加到组合页面。它通过其默认视图插件进行显示。稍后可以选择另一个视图插件(详细信息见下文)。
一旦添加,组合元素可以通过拖放从一个槽位移动到另一个槽位:将组合元素相关的图标拖放到“添加项目”栏中的一个。
每个组合元素都有自己的“编辑项目”菜单。它有以下选项:“编辑”、“删除”和“选择视图插件”。
“编辑”会将您带到元素指向的内容的编辑屏幕。
“删除”会删除组合元素(而不是相关的内容)。
“选择视图插件”列出已注册用于组合元素内容类型的可用视图插件。选择其中一个,以使内容以不同的方式显示。
布局
布局是一个模板,用于定义显示视图。类似于正常视图的模板,布局包括结构化HTML和组合实例的数据。它还包括槽位。槽位定义了可以添加内容的位置。槽位被命名。
布局需要注册组合内容类型。这是通过组合工具完成的。
在实例化时,在组合实例上设置布局:为内容类型注册的默认布局。
如果需要,稍后可以选择另一个布局。这是通过设计视图的布局菜单完成的。菜单建议为内容类型注册的布局。
在更改布局时,如果旧布局和新布局共享槽位名称,则在旧布局中放置在给定名称槽位中的内容将在新布局的相应槽位中显示。在旧布局中放置在无对应名称的新布局槽位中的内容项将被隐藏,而不是删除。切换回布局将显示项目在原始位置。隐藏的槽位和组合元素(通过设计视图无法访问)可以通过ZMI进行删除。
视图插件
视图插件是生成HTML摘录的模板(Python脚本)。CompositePack执行所需操作以实现正常开发情况:“here”(或“context”)变量正确绑定到通过视图插件显示的内容项。
视图插件映射到内容类型:这允许为不同类型定义不同的视图插件(有关如何注册视图插件的详细信息,请参阅下文)。例如,图像内容类型有非常具体的需求,这与大多数文本需求不同。
标题
标题是特殊的组合元素,允许您在组合页面时添加一些文本。
在设计视图中,选择“添加项目”,然后选择“标题”。您会得到一个带有提示标题的弹出窗口。这会添加一个新的组合元素,通过其注册的视图插件显示标题。
如果您需要修改标题,通过“编辑项目”菜单的“编辑”选项访问其数据。
HTML片段
片段是特殊的组合元素,允许您在组合页面时创建任意HTML片段。
在设计视图中,选择“添加项目”,然后选择“HTML”。这将插入一个空片段。使用“编辑项目”菜单的“编辑”选项来编辑片段的内容。
设置可组合内容
转到Plone根目录中的“composite_tool”(即管理中),
转到“可组合”选项卡,
在类型列表中选择您要添加的内容类型(通过按住Ctrl键点击选择类型),
点击“选择”按钮,
在获取 kupu 绘图所需的新 JavaScript 之前,刷新您的浏览器缓存。
注册视图小部件
创建一个页面模板(或 Python 脚本),它返回一个 HTML 提取片段,
转到Plone根目录中的“composite_tool”(即管理中),
在复合工具中,进入“视图小部件”文件夹,并使用顶部按钮添加 CompositePack 视图小部件。
CompositePack 视图小部件有三个字段
“短名” - (ID)与通常一样,
- “标题” - 将在“编辑项目”菜单的“选择视图小部件”部分显示的字符串,
“皮肤方法” - 之前创建的页面模板文件名称。
现在视图小部件已注册,接下来需要将其映射到应使用的所有内容类型。
在视图小部件中,转到“可组合”选项卡
(对于一些有问题的 archetypes 版本,您需要在添加视图小部件后通过视图小部件文件夹。)
如果视图小部件要用于所有内容类型,请选择“(默认设置)”。
如果视图小部件仅用于特定类型,请在类型列表框中选择这些类型。
点击“选择”按钮。
设置复合
转到“可组合”选项卡,
转到Plone根目录中的“composite_tool”(即管理中),
在类型列表中选择您要添加的类型(通过按住Ctrl键点击选择类型),
现在可以为已注册的类型映射布局。
点击“选择”按钮,
注册布局
创建一个页面模板,该模板使用 TALES 插槽表达式(查看现有的布局以了解其用法)。模板应基于 plone main_template。
在复合工具中,进入“布局”文件夹,并使用顶部按钮添加 CompositePack 布局。
转到Plone根目录中的“composite_tool”(即管理中),
CompositePack 布局有三个字段
“短名” (ID) 与通常一样,
“标题” - 将在布局选择下拉小部件中显示的字符串,
在视图小部件中,转到“可组合”选项卡
现在视图小部件已注册,接下来需要将其映射到应使用的所有内容类型。
在类型列表框中选择应与布局一起使用的类型。
如果视图小部件要用于所有内容类型,请选择“(默认设置)”。
通用设置扩展配置文件
设置复合
Plone 使用通用设置进行站点配置。有关通用设置的更多信息,请阅读以下文档
http://plone.org/documentation/tutorial/understanding-and-using-genericsetup-in-plone
toolset.xml : 在运行所有导入步骤时将 composite_tool 添加到 plone 站点。
types.xml : 添加 CompositePack 一起提供的所有内容类型。
types/*.xml : 每个类型的配置文件
import_steps.xml : 这注册了导入方法。
export_steps.xml : 这注册了导出方法。
compositetool.xml : 这是所有视图小部件、布局、可组合和复合的 XML 表示。
自定义策略脚本
通过复合工具通过 Web 修改产品的替代方法是编写一个脚本来自动执行自定义操作。这确保了如果您重新安装或升级 CompositePack,您的自定义操作不会丢失。
如果 CompositePack 安装时任何皮肤文件夹中存在名为“compositepack-customisation-policy.py”的脚本,它将作为安装的一部分自动运行。在 compositepack 皮肤文件夹中提供了一个名为“sample-compositepack-customisation-policy.py”的示例脚本。您可以重命名此脚本并根据您的系统对其进行自定义。
1.2a1 (2011-04-30)
修复了在 composite_tool 中添加和重命名 CompositePack 视图小部件和布局的问题。[hathawsh]
修复了触发弃用警告的代码。[tseaver]
重新排列了 packcomposite.py 中的导入。[tseaver]
进行了 Egg 化。[hathawsh]
使与 Plone 3 和 svn.zope.org 上的 CompositePage 兼容。[hathawsh]
现在需要 Plone 3+。[hathawsh]
在_initObjects更新结束时更新kupu库,以确保在那里正确注册可组合对象。[jladage, maurits]
已将主题视图添加到个人资料中,因为测试中已经预期到这一点。所有测试都再次通过。[jladage]
由于使用了不同的文件名,双向导入/导出没有正确工作。导出创建了一个composite_tool.xml文件,而导入期望compositetool.xml。感谢Tres Seaver报告此错误并提供补丁。如果仍在现有配置文件中使用compositetool.xml,将记录一条弃用警告。[jladage]
修复了重新安装时的错误,该错误删除了kupu中的可组合对象。[ree]
将compopack_template_azax层添加到皮肤中,如果已安装azax,将按正确顺序添加。[jslob]
从布局模板中移除了++resource++代码,这些模板在每个请求中至少生成4个404错误。[jladage]
为所有js和css添加了ResourceRegistry配置。将皮肤文件移动到几个skindirs中,就像在azax-ree分支中所做的那样。当然,还要为js和css添加GenericSetup配置文件。[jladage]
通过继承BaseFolder并实现INonStructuralFolder接口来解决重命名问题。[jladage和jorisslob]
添加了配置composite_tool的GenericSetup基本配置文件。现在可以以XML格式导入和导出整个配置。[jladage和jorisslob]
修改了tool.py以处理多个用户同时修改同一导航页面。添加了一些合理性检查,并在出错时向用户发送清晰的错误消息。[jslob和maurits]
修复CSS以更好地处理层(position: relative使元素可以渲染在plone下拉菜单之上)[jslob和mteulingen]
通过将导航页面添加到site_properties中的默认页面类型列表中,与Plone 2.1友好协作。[jladage]
为导航页面设置更好的布局和默认视口。[gotcha]
样式和i18n [gotcha]
为Plone 2.1设置门户工厂和从标题计算出的ID [gotcha]
在portal_migration中注册cleanIndexes设置小部件,用于删除错误索引的软件。[gotcha]
修复索引:软件元素(如布局注册表、视口注册表、布局、视口、组合容器和元素)不再索引。[gotcha]
修复创建时的SearchableText [gotcha]
修复了包,使其在没有安装ATContentTypes时也能加载 [gotcha]
Products.CompositePack-1.2a1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2aa8be35f54cfee1265378e43ddecadb2d49b38818c71f22aafb9b8e57c5d17e |
|
MD5 | 87972165ecba6455f59c893a403d2be2 |
|
BLAKE2b-256 | 7f9a5ebe0c590a0658bac662325912e3cb91381e786a5be2c31781e891e988bb |