plone.app.collection管理复杂查询的复合标准
项目描述
此软件包为plone.app.collection添加了一种新的标准。
动机
有时,某些索引由具有特定逻辑的不同元素组成,或者您需要查询网站的特定元素,例如当前用户组或其他任何内容。这不能使用默认索引和集合UI实现,您需要编写Python代码。
如何使用
在添加/编辑集合时,在可用的索引的“其他”类别下将出现一个新的标准字段,称为“过滤器”。
在选择“过滤器”时,将显示一个选择框,向您展示提供collective.compoundcriterion.interfaces.ICoumpondCriterionFilter接口的命名适配器。
您可以从可用的选项中选择。这仍然可以与其他标准一起使用。
要注册名为适配器的复杂查询构建器,您需要添加此类代码
<adapter for="*"
factory="collective.compoundcriterion.tests.adapter.CompoundCrietrionFilterAdapter"
provides="collective.compoundcriterion.interfaces.ICompoundCriterionFilter"
name="testing-compound-adapter" />
如何测试
将适配器注册zcml添加到configure.zcml文件中(如collective.compoundcriterion中的文件),它将使“testing-compound-adapter”在集合“过滤器”索引中可用。
此测试适配器将查询标题中包含字符串“special_text_to_find”的网站元素。因此创建一个具有此类标题的文档,它应该可以工作。
可以使用第二个适配器进行测试
<adapter for="*"
factory="collective.compoundcriterion.tests.adapter.SampleCompoundCrietrionFilterAdapter"
provides="collective.compoundcriterion.interfaces.ICompoundCriterionFilter"
name="sample-compound-adapter" />
此适配器将查询标题中包含“title_with_sample_text”的元素。
负索引适配器
存在两个特定的适配器来否定查询
negative-previous-index 将否定查询中定义的前一个索引的值;
negative-personal-labels 执行相同的操作,但针对ftw.labels个人标签,因为当前用户ID在索引值中管理。
翻译
此产品已翻译成
法语。
西班牙语。
您可以为缺失的消息或其他新语言做出贡献,加入我们在 Plone Collective Team 的团队,在 Transifex.net 服务中与全球Plone翻译者社区一起。
贡献者
IMIO, support@imio.be
Leonardo J. Caballero G., leonardocaballero@gmail.com
变更日志
0.7 (2023-04-12)
在 negative-previous-index 中,当某些过滤器没有值时不要中断(因此查询中不存在“v”)。[gbastien]
0.6 (2023-02-13)
添加了 negative-previous-index 和 negative-personal-labels 默认适配器。依赖于 imio.helpers。删除了对 unittest2 的依赖。[gbastien]
0.5 (2021-04-20)
添加了Transifex.net服务的集成来管理翻译过程。[macagua]
添加了西班牙语翻译。[macagua]
0.4 (2018-08-31)
在获取适配器时,如果上下文不是集合,则尝试根据各种情况获取真实上下文。这是使用plone.app.contenttypes集合的情况。[gbastien]
不要使用SelectionWidget来渲染查询字符串小部件,因为它对于plone.app.contenttypes集合不再存在。使用MultipleSelectionWidget。这样我们最终可以选择多个过滤器来构建查询。[gbastien]
在ZCatalog 3的查询中使用“not”时,必须在查询字典中将“query”级别替换为“not”。[sgeulette]
0.3 (2016-12-08)
当查询格式不遵循plone.app.querystring规范时,返回清晰的提示信息。[gbastien]
0.2 (2015-09-04)
如果命名适配器返回的查询格式与plone.app.querystring.queryparser.parseFormquery返回的格式不兼容,则引发KeyError,这样它可以正确地与collective.eeafaceted.collectionwidget一起使用。[gbastien]
0.1 (2015-06-02)
初始发布。[IMIO]
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
collective.compoundcriterion-0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 000f444fb51df0903738838dce5a6b3f9bba730604df3aaff106c55774c80a88 |
|
MD5 | 73bc76db420bba68e7926897dd26bbc9 |
|
BLAKE2b-256 | e7683100f5dae6b28112430a41640c118ffed924c8597b06b178817f1b2ae730 |