sitegeist/fusionlinkprototypes

缺少原型,以便更轻松地将动作和模块链接起来

v1.0.1 2022-06-22 17:56 UTC

This package is auto-updated.

Last update: 2024-08-24 17:48:17 UTC


README

缺少原型,以便更轻松地将动作和模块链接起来。

默认情况下,后端模块之间的链接或从后端模块到其他模块的链接都比较繁琐。由于模块使用子请求,Neos UriBuilder在模块内部创建了所有链接。

此包添加了原型 Sitegeist.FusionLinkPrototypes:ActionUriSitegeist.FusionLinkPrototypes:ActionLinkSitegeist.FusionLinkPrototypes:ModuleUriSitegeist.FusionLinkPrototypes:ModuleLink,这些原型始终使用当前的主要请求以避免这种混淆。

!!! 这些原型最终可能会集成到 Neos 中。此包提供了 Neos 旧版本的替代方案,并在创建核心前允许玩转 API 和行为。!!!

作者 & 赞助商

此包的开发和公共发布得到了我们雇主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:ActionUriattributes.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) 模块路径(例如 contentmanagement/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:ModuleUriattributes.href!!! 对于指向 Neos 内容模块的链接,请参阅专门的 部分!!!

标签属性

  • tagName (string) HTML 元素的标签名,默认为 a
  • content (string) 元素的内部内容,如果标签不是自闭合的且没有省略结束标签,则将渲染
  • attributes (iterable) 标签属性作为键值对。默认为 Neos.Fusion:DataStructure。如果返回的不是可迭代的,则值会被转换为字符串。
  • attributes.href 定义为 Sitegeist.FusionLinkPrototypes:ActionLink
  • ... 更多信息请参阅 Neos.Fusion:Tag 的文档

ModuleUri 属性

  • module (string) 模块路径(例如 contentmanagement/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 请求。