neosidekick / ui-reverse-search
此扩展包增强了 Neos UI 文档节点搜索,增加了 URI 搜索功能
Requires
- neos/neos-ui: ^7.0 || ^8.0
README
你是否曾经好奇为什么你可以在 Neos UI 文档树中搜索标题,但不能通过公共 URI 或节点路径❓ 好吧,我们为你解决了这个问题 ❗
此扩展包扩展了文档树搜索,增加了通过 URI 或节点路径进行搜索的能力。只需将浏览器中的 URI 或节点路径复制到搜索框中,如果找到,文档将在文档树中高亮显示 😍
安装
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,我们的包将找到其德语维度中的同级,如果存在。