跳转到主要内容

一款可以改变Plone基本站点搜索并增加一些新功能的软件。

项目描述

简介

一款覆盖基本Plone搜索模板的产品。

它有一个左侧栏,包含搜索表单和一些额外的字段以细化搜索

  • 按内容类型分组结果

  • 细化搜索的方面列表

所有这些都可以通过Plone控制面板进行配置。

设置

在控制面板(RER Sitesearch)中,您可以设置一些搜索参数。

类型分组

您可以根据类型创建包含 portal_types(带有自定义标签)的组以过滤结果。

例如,您可以添加一个包含文档和文件内容的“文档”组。另一个标签“新闻和事件”,可能包含新闻条目和事件。

等等。

索引

搜索视图在左侧列显示参数列表(目录中的索引),以细化结果。

在 Sitesearch 控制面板中,您可以定义显示哪些索引、哪些标签以及顺序。

分组的高级过滤器

在每个组类型中,您可以选择一个高级过滤器。

高级过滤器是一系列预置过滤器,允许在搜索中选中该组时添加一些额外的过滤器。

在 rer.sitesearch 中,只有一个名为“事件”的高级过滤器,它可以添加起始和结束日期过滤器,但您可以在自定义包中添加更多预置。

注册新的高级过滤器

高级过滤器是一系列命名的适配器,因此您可以根据需要添加更多并覆盖现有的适配器。

您只需注册一个新的命名适配器

<adapter
  factory = ".my_filters.MyNewFilters"
  name= "my-filters"
/>

您的适配器应具有一个 label 属性(在 sitesearch-settings 视图中显示人类可读的名称)并返回附加索引的架构

from zope.component import adapter
from zope.interface import implementer
from rer.sitesearch.interfaces import ISiteSearchCustomFilters
from zope.interface import Interface
from my.package import _
from zope.i18n import translate


@adapter(Interface, Interface)
@implementer(ISiteSearchCustomFilters)
class MyNewFilters(object):
"""
"""

label = _("some_labelid", default=u"Additional filters")

def __init__(self, context, request):
    self.context = context
    self.request = request

def __call__(self):
    return {
        "index_a": {
            "type": "string",
            "label": translate(
                _("filter_index_a_label", default=u"Index A"),
                context=self.request,
            ),
        },
        "index_b": {
            "type": "date",
            "label": translate(
                _("filter_index_b_label", default=u"Index B"),
                context=self.request,
            ),
        },
    }

其中 index_aindex_b 是 Plone 的目录索引。

Restapi 端点

@search-filters

有一个辅助 API 端点,它返回搜索界面中可用的组和索引列表: @search-filters

> curl -i https://127.0.0.1:8080/Plone/@search-filters -H 'Accept: application/json'

并将返回如下响应

{
  "grouping": [
    {
      "label":
        "Documents"
      ],
      "types": [
        "Document",
        "File"
      ]
    },
    {
      "label": "News and Events",
      "types": [
        "News Item",
        "Event"
      ]
    },
  ],
  "indexes": [
    {
      "label": [
        "Type"
      ],
      "index": "portal_type"
    },
    {
      "label": "Keywords",
      "index": "Subject"
    },
  ]
}

依赖项

此产品仅在 Plone > 5.1 以及 Python 2 和 3 上运行。

自版本 4.0.0 以来,我们对包进行了硬重写,现在我们使用 plone.restapi @search 端点和 React。

贡献

致谢

在以下机构的支持下开发

Regione Emilia-Romagna

Emilia Romagna 省支持 PloneGov 初始化项目

作者

此产品由 RedTurtle 技术团队开发。

RedTurtle Technology Site

变更日志

4.4.0 (2023-09-07)

  • 改进可访问性。 [cekk]

4.3.1 (2023-06-27)

  • 修复发布:不要强制 Python 版本。 [cekk]

4.3.0 (2023-03-30)

  • 当使用 Plone 目录工具时,仅搜索控制面板中启用的内容类型。 [cekk]

4.2.2 (2022-09-30)

  • 修复错误发布。 [cekk]

4.2.1 (2022-09-30)

  • 支持 rer.solrpush search_enabled 标志以临时禁用 SOLR 上的搜索。 [cekk]

4.2.0 (2022-09-29)

  • 改进自定义。 [cekk]

  • 添加对布尔和日期索引的支持。 [cekk]

4.1.3 (2022-02-24)

  • 当 solr 禁用时,不显示站点过滤器。 [cekk]

4.1.2 (2022-02-03)

  • 修复位置过滤器逻辑。 [cekk]

4.1.1 (2022-02-03)

  • 修复过滤器搜索逻辑。 [cekk]

4.1.0 (2022-01-20)

  • 界面改进。 [cekk]

4.0.1 (2021-12-20)

  • 修复 LocationFilter 的标签。 [cekk]

4.0.0 (2021-12-20)

  • 新的 sitesearch 布局和逻辑(包括 rer.solrpush 支持)。 [cekk]

3.2.6 (2020-09-21)

  • 修复查询序列化中的错误。 [cekk]

3.2.5 (2020-08-13)

  • 修复查询序列化和排序顺序。 [cekk]

3.2.4 (2020-04-22)

  • 按日期排序现在是针对 modified 索引。 [cekk]

  • 现在也注意排序顺序。 [cekk]

3.2.3 (2019-09-11)

  • 修复翻译。 [cekk]

3.2.2 (2019-02-17)

  • 移除先前还原中未使用的升级步骤。 [cekk]

3.2.1 (2019-01-17)

  • 撤销对自定义持久字段的更改。我们与共享 zeoserver 有点问题。 [cekk]

3.2.0 (2019-01-09)

  • 修复 solr 支持:现在如果 solr 已安装但禁用控制面板,所有搜索都不通过它 [cekk]

  • 在注册表中删除自定义持久字段。 [cekk]

  • a11y: 为 portalMessage 添加了角色属性 [nzambello]

3.1.1 (2018-10-11)

  • 更新了移动样式 [pnicolli]

  • 可访问性修复 [nzambello]

3.1.0 (2017-12-21)

  • 将资源移动到单独的包中 [cekk]

  • 提高 IE11 兼容性 [cekk]

  • 改进文档 [cekk]

3.0.1 (2017-09-18)

  • 修复 sitesearch.js 中的查询生成。现在 URL 中不包含 ajax_load [cekk]

3.0.0 (2017-09-13)

  • 更多类似的内容 [mamico]

  • Plone 5 兼容性。删除 Plone 4。使用 plone4 分支。 [cekk]

2.4.3 (2015-12-02)

  • 修复测试 [mamico]

  • Plone 4.3 兼容性 [cekk]

2.4.2 (2015-01-19)

  • 修复控制面板图标 [cekk]

2.4.1 (2014-12-09)

  • 如果搜索词字符串发生变化(searchableText)并且表单已提交,则重置所有查询并从头开始 [cekk]

2.4.0 (2014-11-24)

  • 支持 collective.solr [cekk]

  • 添加配置以限制 SearchableText 中的单词长度和单词数量 [cekk]

  • 重新编写搜索结果的 HTML [cekk]

2.3.3 (2014-02-20)

  • 修复搜索结果结构 [cekk]

2.3.2 (2014-01-13)

  • 修复时区处理 [cekk]

2.3.1 (2013-12-06)

  • 修复标签顺序结果 [cekk]

  • 修复 Plone 时区处理中的 bug,针对开始和结束日期 [cekk]

2.3.0 (2013-07-08)

  • 重构视图以支持 plone.app.search [cekk]

  • 将配置从 site_properties 移动到注册表 [cekk]

  • 添加测试 [cekk]

  • 自定义搜索视图的“跳过链接”视图小部件 [cekk]

2.2.1 (2012-10-12)

  • 修复索引列的填充 [cekk]

2.2.0 (2012-10-08)

  • 为 Plone 4 重新架构:现在模板已删除,并由视图替换 [cekk]

2.1.1 (2012-10-04)

  • 修复更新步骤 [cekk]

  • 修复第一个标签选择 [cekk]

2.1.0 (2012-10-04)

  • 将搜索从 skins 移动到视图,以实现 Plone4 兼容性(它还不是新搜索)[cekk]

  • 添加卸载配置文件以删除 skins [cekk]

2.0.2 (2012-08-23)

  • 修复结果样式 [cekk]

2.0.1 (2012-08-03)

  • 删除 search_form.pt [cekk]

2.0.0 (2012-08-02)

  • 清理旧的 Plone 3.2 垃圾 [keul]

  • 修复搜索视图样式 [cekk]

  • 添加配置小部件以管理 sitesearch 选项 [cekk]

1.5.1 (2012/04/23)

  • 为隐藏的索引信息 div 添加类 [cekk]

  • 修复隐藏索引管理 [cekk]

1.5.0 (2012/04/16)

  • 重构 sitesearch_view 以加快搜索速度 [cekk]

1.4.1 (2012/03/26)

  • 修复翻译 [cekk]

1.4.0 (2012/03/12)

  • 自定义事件日期索引 [cekk]

  • 在事件中显示日期和位置 [cekk]

  • 使用日期索引按日期排序 [cekk]

  • 添加“隐藏索引”配置 [cekk]

1.3.1 (2011/11/28)

  • 修复路径不正确时标题中的错误 [cekk]

1.3.0 (2011/11/28)

  • 修复布局和 CSS [nekorin]

1.2.0 (2011/06/20)

  • 添加标签自定义 [cekk]

1.1.1 (2011/04/07)

  • 删除索引的字母排序。现在索引在配置面板中排序 [cekk]

1.1.0 (2011/04/04)

  • 删除特定于税级的标签。现在需要在配置面板中设置 [cekk]

1.0.6 (2010/11/08)

  • 修复分批处理的 JS [cekk]

1.0.5 (2010/11/08)

  • 除选定的类型外,还过滤类别 [cekk]

1.0.4 (2010/11/04)

  • 删除 setup.cfg [cekk]

1.0.3 (2010/11/04)

  • 为浏览器历史记录重构 [cekk]

1.0.2 (2010/10/28)

  • 在视图中删除文件夹标题 [cekk]

1.0.1 (2010/10/28)

  • 删除 searchSubject 索引 [cekk]

  • 更改排序的字段名 [cekk]

  • 添加带有文件夹名称的标题 [jacopo e cekk]

1.0.0 (2010/09/23)

  • 初始发布

项目详情


下载文件

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

源分布

rer.sitesearch-4.4.0.tar.gz (571.5 kB 查看哈希值)

上传

由以下支持