TYPO3后端:为1:n记录注册新的Ajax处理程序

时间:2018-07-20 17:09:20

标签: typo3 typo3-8.x typo3-extensions

默认情况下,TYPO3集成了一个按钮来创建新的内联记录,该记录将加载新的空掩码。是否可以实现具有其自身功能的“自定义”按钮?例如。返回多个记录表单而不是仅返回一个并预先填写一些字段?

Ajax Handler button to create new inline relation

1 个答案:

答案 0 :(得分:1)

首先,您可以找到并覆盖(XCLASS)负责那些内联元素的核心类。但是内联元素是核心中的一个巨大元素,任何修改都可能导致许多意外行为。 因此,我不建议您修改核心内联元素功能。

所以也许您应该自己做。您可以添加自定义TCA字段,该字段调用PHP函数来创建自己的按钮:https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/User.html 在您的PHP函数中,您还可以使用PageRenderer在您的后端中包含一个自定义RequireJS脚本https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/JavaScript/RequireJS/Index.html

在扩展程序中,您可以注册一个AjaxRoute,可以从您的RequireJS脚本中调用它:https://werkraum.net/devblog/detail/article/backend-routes-ajax-typo3-76/

您自己的AjaxRoute的目标可能是该函数,它将返回可以在您自己的RequireJS脚本中处理的新的内联元素。

按照这些步骤操作后,您可能具有自己的“内联记录”功能。然后,您必须确保正确保留新元素。