跳转到主要内容

一个允许通过元数据搜索的组件

项目描述

变更历史

slc.clicksearch 更新日志

1.4.4 (2010-10-04)

  • 如果使用Products.ATContentTypes>2.0b2,则从可搜索属性中删除getEventType,因为它已不再存在(gerken)

1.4.3 (2010-01-21)

  • 从索引中转义唯一键到字符串(gerken)

1.4.2 (2010-01-11)

  • 添加metadata.xml(jcbrand)

  • 在setup.py中添加z3c.autoinclude.plugin入口点(jcbrand)

1.4.1 (2010-01-04)

  • 添加缺失的导入(gerken)

1.4.0 (2009-12-10)

  • 添加了定制功能的初步文档(gerken)

  • 在DefaultIndexView中添加了翻译标题的钩子(thomasw)

  • 只有当有多个元数据时,才在组件上显示“重置”链接(thomasw)

  • 模块化了clicksearch结果显示。而不是在模板中有一个硬编码的部分,结果视图根据项的门户类型调用适配器(浏览器视图)。存在一个通用的捕获所有适配器,它使用先前模板的代码(thomasw)

1.3 (2009-09-18)

  • 将某些数据类型从文本更改为列表。在此之前,它们作为文本存储,但始终像列表一样标记化和消费。组件的编辑视图将看起来不同。数据将在第一次加载组件时转换(gerken)

slc.clicksearch 1.2 (2009-06-17)

  • 更新svnignore(pilz & thomasw)

  • 使UI更美观(brand)

slc.clicksearch 1.1 (2009-05-12)

  • 打包egg(pilz)

slc.clicksearch 1.0 (2008-03-31)

  • 初始端口

详细文档

slc.clicksearch

本包提供了一种使用元数据导航的方法,如果存在几种不同的元数据类别来分类内容,那么这可能是有意义的。在我们的用例中,我们有术语库、类别、国家、语言和NACE代码,以及约10,000个需要过滤的项目。

应该可以通过点击不同的元数据值来浏览搜索结果。如果我点击一个值,搜索结果将受到该值的限制。如果我又通过点击一个特殊链接来扩展我的搜索,那么这个条件将被再次移除。

左侧有一个ClickSearch小部件,每个元数据元素都有一个部分。每个部分都以元数据元素的名称作为标题。然后它列出了一些最受欢迎的元数据元素的链接。这些“最受欢迎的”可以在小部件内部进行配置。

在顶部值下方有一个“更多”链接,允许从总值的数量中进行选择。点击“更多”会暂时显示一个扩展的选择页面,替换掉足够空间列出所有值和它们含义的正文区域。这对于像术语库、子类别和NACE这样的复杂元数据尤其有用(树形结构中有几百条或更多的条目)。它们将不再以弹出窗口的形式显示。相反,整个树将嵌入到页面上。用户选择一个术语并返回到搜索结果。

如果用户已选择了一个项目并且搜索结果已被缩小,他可以通过再次扩展搜索来撤销缩小。例如,用户点击“任何国家”以再次移除国家的筛选。

定制小部件

可以自定义小部件。这样,您可以根据索引类型创建不同的选择机制。为此,您需要为Products.ATContentTypes.content.topic.ATTopic提供一个名为“slc.clicksearch.%s”的新浏览器页面 % INDEX_NAME,其中INDEX_NAME必须是索引的名称。请注意,在这里不要使用正常的浏览器视图,因为__call__的语义不同。__call__带有两个参数,索引和box_config。索引只是索引,而box_config是配置。请参阅slc.clicksearch.widgets.widgets以获取示例。

提供更好的结果

(OSHA特定,将来不应包含在此包中)

结果列表应显示每个结果的标题和描述的前200个字符。对象类型、创建日期和最后更改日期指示信息的类型和新鲜度。此外,还显示了将链接到的外部链接。其他元数据还包括“语言”、“参见”和信息提供者。

虽然在这种情况下图像不是很有用,但将鼠标移至远程链接上时,可以看到链接的首页图像。

然后必须根据用户搜索行为分析的结果对此结果列表进行优化,分析结果表明用户真正在寻找什么。例如,如果某个用户组通过CAS编号进行搜索,在结果列表中显示该编号将有益。

测试设置

要开始实验,请执行以下操作

  • 添加一个名为“点击搜索”的新主题

  • 配置主题以显示数据的一个子集,例如仅显示链接

  • 在此主题上,在左侧添加一个Clicksearch小部件

  • 配置小部件以显示元数据主题和allowedUsersAndRoles

  • 提供一些你打算在网站上使用的值

  • 在ZMI中,将click search文件夹的属性布局设置为clicksearch,这将立即显示结果列表

添加对新索引的支持

在这个例子中,我们想要支持存储在atvocabularymanager中的分层多语言术语库。为此,我们需要

  • 一个显示层次结构的小部件

  • 一个显示更多页面,可以访问完整的树(使用VocabularyPickerWidget)

准备工作首先,我们需要将数据文件夹中的vdex词汇文件添加到ATVocabularyManager中。然后,我们需要通过扩展内容类型并添加索引和元数据到目录中,使新的元数据元素对内容类型可用。

贡献者

  • Jan-Carel Brand (Syslab.com GmbH)

  • Wolfgang Thomas (Syslab.com GmbH)

  • Alexander Pilz (Syslab.com GmbH)

  • Patrick Gerken (Syslab.com GmbH)

项目详情


下载文件

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

源分布

slc.clicksearch-1.4.4.zip (54.1 kB 查看哈希)

上传时间

支持者