flownative/neos-customdocumenturirouting

这允许为文档节点自定义文档URI路径

0.2.0 2021-06-24 09:11 UTC

This package is auto-updated.

Last update: 2024-09-22 12:47:51 UTC


README

MIT license Packagist Maintenance level: Fiendship

Neos的自定义文档URI路径

这允许为文档节点自定义文档URI路径。这意味着,独立于通常从每个节点的uriPathSegments构建的URI路径,可以为文档指定一个完整、唯一、自定义的URI路径。

安装

composer require flownative/neos-customdocumenturirouting

配置

安装包后,默认情况下它会在文档节点中查找一个名为uriPath的属性。

您可以使用提供的Flownative.Neos.CustomDocumentUriRouting:UriPathMixinuriPath属性添加到您的文档节点中。

如果您想使用不同的名称,可以在设置中更改使用的混合节点类型名称和属性名称。

Flownative:
  Neos:
    CustomDocumentUriRouting:
      mixinNodeTypeName: 'Acme.Product:UriPathMixin'
      uriPathPropertyName: 'myCustomUriPathProperty'

请确保如果您配置了自定义混合节点类型名称,该节点类型确实提供了一个具有您在uriPathPropertyName中定义的名称的属性。

排除匹配路径

为了排除特定的请求路径(例如公共资源),存在一个名为matchExcludePatterns的设置。所有给定的数组值将跳过以该值开头的请求路径的匹配过程。该包默认包含

Neos:
  CustomDocumentUriRouting:
    matchExcludePatterns:
      - '_Resources'

任何以_Resources开头的URI都将被包忽略并传递。

关于性能的说明

此包提供了一个自定义节点路由部分处理器,该处理器会检查当前HTTP请求是否匹配给定的URI路径。路由部分处理器使用Flow Query来完成此操作。如果Flow Query因为条件过于宽泛而找到太多节点,尤其是如果您的内容存储库包含成千上万的节点,前端和后端性能可能会受到影响。

因此,尽量将可能的匹配限制在最小范围内:仅在使用它们的节点类型中使用配置的混合。例如,如果您有一个自定义的“着陆页”节点类型,您可能希望将其定义为一个超类型。但您不会将该混合分配给Neos.Neos:Document节点类型——因为这会匹配系统中的所有可能的文档节点。

鸣谢

此包的开发得到了奥地利维也纳的web&co OG的赞助。