如何在 TYPO3 9.5 中返工 addAdditionalHeaderData
How to rework addAdditionalHeaderData within TYPO3 9.5
在将我们的代码库升级到 9.5 时,我发现使用
的旧方法
$res = $this->response;
$res->addAdditionalHeaderData('<script src="' . $scriptPath . '" type="text/javascript"></script>');
这一切都发生在扩展 ActionController 的扩展控制器中,这些方法似乎不再存在,我找不到实现该功能的新方法。那么我如何从我的 extbase 扩展中添加额外的头数据到我的动作控制器中呢?
非常感谢帮助
我们使用 PageRenderer class 完成了它,它可以在 ActionController
中实例化
/** @var PageRenderer $pageRenderer */
$pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
$pageRenderer->addHeaderData($additionalHeaderData);
从 TYPO3 10.4 开始,您可以使用 AssetCollector class 添加 Javascript 或 CSS。我已经为以后找到这个主题的用户添加了这个。
use TYPO3\CMS\Core\Utility\GeneralUtility;
$assetCollector = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\AssetCollector::class);
$assetCollector->addJavaScript('my_identifier', $scriptPath, [], ['priority' => true]);
必须将优先级设置为 true,才能将 Javascript 包含到 html 页面的 header 中。
在将我们的代码库升级到 9.5 时,我发现使用
的旧方法$res = $this->response;
$res->addAdditionalHeaderData('<script src="' . $scriptPath . '" type="text/javascript"></script>');
这一切都发生在扩展 ActionController 的扩展控制器中,这些方法似乎不再存在,我找不到实现该功能的新方法。那么我如何从我的 extbase 扩展中添加额外的头数据到我的动作控制器中呢?
非常感谢帮助
我们使用 PageRenderer class 完成了它,它可以在 ActionController
中实例化 /** @var PageRenderer $pageRenderer */
$pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
$pageRenderer->addHeaderData($additionalHeaderData);
从 TYPO3 10.4 开始,您可以使用 AssetCollector class 添加 Javascript 或 CSS。我已经为以后找到这个主题的用户添加了这个。
use TYPO3\CMS\Core\Utility\GeneralUtility;
$assetCollector = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\AssetCollector::class);
$assetCollector->addJavaScript('my_identifier', $scriptPath, [], ['priority' => true]);
必须将优先级设置为 true,才能将 Javascript 包含到 html 页面的 header 中。