flownative / neos-customdocumenturirouting
这允许为文档节点自定义文档URI路径
Requires
- neos/neos: ^3.0 || ^4.0 || ^5.0 || ^7.0
README
Neos的自定义文档URI路径
这允许为文档节点自定义文档URI路径。这意味着,独立于通常从每个节点的uriPathSegments构建的URI路径,可以为文档指定一个完整、唯一、自定义的URI路径。
安装
composer require flownative/neos-customdocumenturirouting
配置
安装包后,默认情况下它会在文档节点中查找一个名为uriPath
的属性。
您可以使用提供的Flownative.Neos.CustomDocumentUriRouting:UriPathMixin
将uriPath
属性添加到您的文档节点中。
如果您想使用不同的名称,可以在设置中更改使用的混合节点类型名称和属性名称。
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的赞助。