neosidekick/ui-reverse-search

此扩展包增强了 Neos UI 文档节点搜索,增加了 URI 搜索功能

1.0.2 2024-08-19 13:36 UTC

This package is auto-updated.

Last update: 2024-09-19 13:46:25 UTC


README

你是否曾经好奇为什么你可以在 Neos UI 文档树中搜索标题,但不能通过公共 URI 或节点路径❓ 好吧,我们为你解决了这个问题 ❗

此扩展包扩展了文档树搜索,增加了通过 URI 或节点路径进行搜索的能力。只需将浏览器中的 URI 或节点路径复制到搜索框中,如果找到,文档将在文档树中高亮显示 😍

Demo

安装

NEOSidekick.UiReverseSearch 通过 Packagist 提供。将 "neosidekick/ui-reverse-search" : "^1.0" 添加到 composer.json 的 require 部分,或运行

composer require neosidekick/ui-reverse-search

我们使用语义版本控制,因此每次重大更改都会增加主版本号。

配置

一些 Neos 安装在路由后使用后缀,例如 Neos.Demo 使用 .html。我们的包首先尝试从 Neos.Flow.mvc.routes.Neos.Neos.variables.defaultUriSuffix 获取此信息。如果此配置中的值与您在 Routes.yaml 中配置的值不同,您可以使用我们的设置 NEOSidekick.UiReverseSearch.overrideNodeUriPathSuffix 来覆盖此包中解析的 URI 后缀。

它是如何工作的?

Neos UI 使用 FlowQuery 和 Neos\Neos\Ui\FlowQueryOperations\SearchOperation 来过滤文档节点。我们的包通过首先检查搜索词是否匹配 URI 结构来扩展并覆盖此实现。如果是这种情况,它使用 Neos\Neos\Routing\FrontendNodeRoutePartHandler 将 URI 解析为节点上下文路径。节点路径的解析工作相当类似,只是我们不需要先解析 URI 为节点上下文路径,而是直接根据给定的节点路径查找节点。

已知限制

当通过公共 URI 解析节点时,我们丢弃了关于维度信息,只与当前 UI 的上下文一起工作。因此,如果您的 UI 在德语维度中,您粘贴了英语维度中文档的公共 URI,我们的包将找到其德语维度中的同级,如果存在。