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) 要排除的查询参数,用于addQueryString
absolute
(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 元素的标签名,默认为a
content
(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) 要排除的查询参数,用于addQueryString
absolute
(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) 要排除的查询参数,用于addQueryString
absolute
(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 元素的标签名,默认为a
content
(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) 要排除的查询参数,用于addQueryString
absolute
(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 请求。