sitegeist / fusionlinkprototypes
缺少原型,以便更轻松地将动作和模块链接起来
Requires
- neos/fusion: ~7.0||~8.0||dev-master
Requires (Dev)
- phpstan/phpstan: ^0.12.78
This package is auto-updated.
Last update: 2024-08-24 17:48:17 UTC
README
缺少原型,以便更轻松地将动作和模块链接起来。
默认情况下,后端模块之间的链接或从后端模块到其他模块的链接都比较繁琐。由于模块使用子请求,Neos UriBuilder在模块内部创建了所有链接。
此包添加了原型 Sitegeist.FusionLinkPrototypes:ActionUri、Sitegeist.FusionLinkPrototypes:ActionLink、Sitegeist.FusionLinkPrototypes:ModuleUri 和 Sitegeist.FusionLinkPrototypes:ModuleLink,这些原型始终使用当前的主要请求以避免这种混淆。
!!! 这些原型最终可能会集成到 Neos 中。此包提供了 Neos 旧版本的替代方案,并在创建核心前允许玩转 API 和行为。!!!
作者 & 赞助商
- Martin Ficzel - ficzel@sitegeist.de
此包的开发和公共发布得到了我们雇主http://www.sitegeist.de的慷慨赞助。
安装
Sitegeist.FusionLinkPrototypes 通过 Packagist 提供。运行 composer require sitegeist/fusionlinkprototypes。我们使用语义版本控制,每次重大更改都会增加主版本号。
使用
Sitegeist.FusionLinkPrototypes:ActionUri
构建控制器操作的 URI
package(string) 包键(例如My.Package)subpackage(string) 子包,默认为空controller(string) 控制器名称(例如Registration)action(string) 动作名称(例如new)arguments(array) 通过命名键传递给动作的参数format(string) 可选的请求格式(例如html)section(string) 可选的 URI 片段(hash)additionalParams(array) 通过命名键传递的附加 URI 查询参数addQueryString(boolean) 是否保留当前 URI 的查询参数argumentsToBeExcludedFromQueryString(array) 要排除的查询参数,用于addQueryStringabsolute(boolean) 是否创建绝对 URI
示例:
uri = Sitegeist.FusionLinkPrototypes:ActionUri {
package = 'My.Package'
controller = 'Registration'
action = 'new'
}
Sitegeist.FusionLinkPrototypes:ActionLink
扩展 Neos.Fusion:Tag 并添加一个定义为 Sitegeist.FusionLinkPrototypes:ActionUri 的 attributes.href
标签属性
tagName(string) HTML 元素的标签名,默认为acontent(string) 元素的内部内容,如果标签不是自闭合的且没有省略结束标签,则将渲染attributes(iterable) 标签属性作为键值对。默认为Neos.Fusion:DataStructure。如果返回的不是可迭代的,则值会被转换为字符串。attributes.href定义为Sitegeist.FusionLinkPrototypes:ActionLink- ... 更多信息请参阅
Neos.Fusion:Tag的文档
ActionUri 属性
package(string) 包键(例如My.Package)subpackage(string) 子包,默认为空controller(string) 控制器名称(例如Registration)action(string) 动作名称(例如new)arguments(array) 通过命名键传递给动作的参数format(string) 可选的请求格式(例如html)section(string) 可选的 URI 片段(hash)additionalParams(array) 通过命名键传递的附加 URI 查询参数addQueryString(boolean) 是否保留当前 URI 的查询参数argumentsToBeExcludedFromQueryString(array) 要排除的查询参数,用于addQueryStringabsolute(boolean) 是否创建绝对 URI
示例:
link = Sitegeist.FusionLinkPrototypes:ActionLink {
content = "Register new user"
package = 'My.Package'
controller = 'Registration'
action = 'new'
}
Sitegeist.FusionLinkPrototypes:ModuleUri
构建后端模块的 URI。这允许在后台模块之间进行链接!!!有关链接到 Neos 内容模块的信息,请参阅专门的部分!!!
module(string) 模块路径(例如content或management/sites)controller(string) 控制器名称(例如Registration)action(string) 动作名称(例如new)arguments(array) 通过命名键传递给动作的参数format(string) 可选的请求格式(例如html)section(string) 可选的 URI 片段(hash)additionalParams(array) 通过命名键传递的附加 URI 查询参数addQueryString(boolean) 是否保留当前 URI 的查询参数argumentsToBeExcludedFromQueryString(array) 要排除的查询参数,用于addQueryStringabsolute(boolean) 是否创建绝对 URI
示例:
uri = Sitegeist.FusionLinkPrototypes:ModuleUri {
module="administration/sites"
action="edit"
arguments.site = ${site}
}
Sitegeist.FusionLinkPrototypes:ModuleLink
扩展 Neos.Fusion:Tag 并添加一个定义为 Sitegeist.FusionLinkPrototypes:ModuleUri 的 attributes.href!!! 对于指向 Neos 内容模块的链接,请参阅专门的 部分!!!
标签属性
tagName(string) HTML 元素的标签名,默认为acontent(string) 元素的内部内容,如果标签不是自闭合的且没有省略结束标签,则将渲染attributes(iterable) 标签属性作为键值对。默认为Neos.Fusion:DataStructure。如果返回的不是可迭代的,则值会被转换为字符串。attributes.href定义为Sitegeist.FusionLinkPrototypes:ActionLink- ... 更多信息请参阅
Neos.Fusion:Tag的文档
ModuleUri 属性
module(string) 模块路径(例如content或management/sites)controller(string) 控制器名称(例如Registration)action(string) 动作名称(例如new)arguments(array) 通过命名键传递给动作的参数format(string) 可选的请求格式(例如html)section(string) 可选的 URI 片段(hash)additionalParams(array) 通过命名键传递的附加 URI 查询参数addQueryString(boolean) 是否保留当前 URI 的查询参数argumentsToBeExcludedFromQueryString(array) 要排除的查询参数,用于addQueryStringabsolute(boolean) 是否创建绝对 URI
示例:
link = Sitegeist.FusionLinkPrototypes:ModuleLink {
content = "To the site module"
module="administration/sites"
action="edit"
arguments.site = ${site}
}
链接到 Neos 内容模块
由于 Neos 内容模块不是基于其他后端模块,它通过 Sitegeist.FusionLinkPrototypes:ActionLink 进行链接。
示例:
contentModuleLink = Sitegeist.FusionLinkPrototypes:ActionLink {
content = "To the content module"
package="Neos.Neos.Ui"
controller="Backend"
action="index"
arguments.node = ${node}
}
contentModuleUri = Sitegeist.FusionLinkPrototypes:ActionUri {
module="administration/sites"
action="edit"
arguments.node = ${node}
}
贡献
我们乐意接受贡献。请发送给我们 pull 请求。