跳转到主要内容

管理浏览器视图配置

项目描述

介绍

此插件不向Plone提供功能。它是为Plone插件开发者设计的。

它提供了基类,让您的视图可配置(即有“设置”)。

功能

  • 配置提供者

  • 使用zope.interface和zope.schema定义的配置结构

  • 使用插件存储配置

  • 从模式生成表单,以便所有者配置当前视图

关于版本号的说明

https://secure.travis-ci.org/collective/collective.configviews.png

3.0是回到1.0。

2.0分支原本打算使用collective.registry在上下文中,使用plone.app.registry。这样做后,插件失去了拥有优化设置的能力(全局和局部混合)。因此,让我们回滚到3.0中的1.0!

为什么在插件中这样做

因为大多数情况下,开发者面临的问题是将数据存储在内容类型中,或在上下文中添加注释,而不尝试优化,或没有表单……

它是如何工作的

此插件定义了三个组件

  • ConfigurableView

  • ConfigurationProvider

  • ConfigurationMutator

主要思想是,您只需创建一个zope.interface来定义设置模式,并将其设置在视图的'settings_schema'属性中。

例如

class IMyViewSettings(interface.Interface):
    width = schema.ASCIILine(title=u"Width",
                             default='620')

    height = schema.ASCIILine(title=u"Height",
                              default='620')

class MyView(ConfigurableBaseView):
    settings_schema = IMyViewSettings

    def width(self):
        return self.settings.width

    def height(self):
        return self.settings.height

IConfigurationProvider

此组件负责返回设置。它已在不同的适配器中实现

Provider(未命名适配器):此提供者从接口字段默认值加载默认值,并允许其他提供者覆盖值。它是视图通过settings_providers属性指定的所有提供者的聚合。警告:顺序很重要,每个设置都是从提供它的最后一个提供者那里获取的。

'site.plone.app.registry':此提供者从plone.app.registry返回值(您必须将settings_schema注册为registry.xml中的记录)

'context.zope.app.annotation':此提供者返回存储在视图上下文注释中的值。

IConfigurationMutator

此组件是IConfigurationProvider的扩展,具有写入设置的功能(通过其'set'方法)。

'context.zope.app.annontation':此修改器将配置存储在视图的上下文中。

IConfigurableView

此组件在browserview中实现,您应该在您的浏览器视图中继承它。

默认行为是使用'context.zope.app.annotation'作为修改器和以下提供者

  • site.plone.app.registry

  • context.zope.app.annotation

常见用例:使用JavaScript库进行视图

大多数JavaScript库都等待一个字典来加载它们的配置。您可以通过非常简单的方式实现这一点。您只需定义一个配置模式,并在模板中添加以下片段来创建一个带有配置的JavaScript变量

<script type="text/javascript" tal:content="view/settings_javascripts"></script>

您可以通过browserview的jsvarname属性设置变量名称。

您将在以下插件中找到示例

  • collective.galleria

  • collective.galleriffic

  • collective.googledocsviewer

鸣谢

公司

makinacom

人物

变更日志

3.1.0 (2016-08-23)

  • 当配置更改时,将触发IConfigurationChangedEvent事件[keul]

  • 当修改视图设置时,也在__modified__键中存储修改日期。这可能在您需要检查配置是否“新鲜”的罕见情况下有所帮助[keul]

3.0.3 (2016-05-12)

  • 添加了意大利语翻译[keul]

  • 修复了i18n机制[keul]

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

3.0.2 (2013-04-30)

  • 通过强制加载CMFDynamicViewFTI的zcml来解决配置错误[toutpt]

3.0.1 (2013-04-29)

  • 使用权限保护configviews[toutpt]

3.0 (2013-03-25)

  • 添加对viewlet的支持[toutpt]

3.0a1(2013-02-15)

  • 回滚到1.0内部设计[toutpt]

2.0 (2012-01-30)

  • 使用collective.registry而不是provider/mutator[toutpt]

1.0b4(2011-12-07)

  • 添加新的分类器[toutpt]

  • 修复测试[toutpt]

  • 修复了导致编辑配置无法工作的错误[naro]

1.0b3(2011-08-01)

  • 存储优化:现在默认值基于除zope.app.annotation之外的所有提供者[toutpt]

  • 修复了当 site.plone.app.registry 未设置时(值被设置为 None)的问题 [toutpt]

1.0b2 (2011-06-30)

1.0b1 (2011-06-08)

  • 首次发布

项目详情


下载文件

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

源代码分发

collective.configviews-3.1.0.tar.gz (22.0 kB 查看哈希值)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面