【发布时间】:2018-01-08 11:02:52
【问题描述】:
我在控制器级别使用来自 TYPO3 8 的新页面渲染器通过 initializeAction 添加特定于扩展的 css 和 js 文件:
public function initializeAction()
{
$extPath = ExtensionManagementUtility::siteRelPath(
$this->request->getControllerExtensionKey()
);
$extJs = $extPath . 'Resources/Public/Js/ext_booking_manager.min.js';
$extCss = $extPath . 'Resources/Public/Css/ext_booking_manager.css';
/** @var PageRenderer $pageRenderer */
$pageRenderer = $this->objectManager->get(PageRenderer::class);
$pageRenderer->addCssFile($extCss);
$pageRenderer->addJsFooterFile(
$extJs, 'text/javascript', false
);
}
这有时可以正常工作,但只是有时。这意味着有时会正确添加 css 文件和 js 文件,有时如果我重新加载页面,则无法正确添加文件。有什么问题吗?
对于像 TYPO3 7 这样的旧版本,我使用了类似的东西:
public function initializeAction()
{
$extPath = ExtensionManagementUtility::siteRelPath(
$this->request->getControllerExtensionKey()
);
$extJs = $extPath . 'Resources/Public/Js/ext_booking_manager.min.js';
$GLOBALS['TSFE']->getPageRenderer()->addJsFooterFile(
$extJs, 'text/javascript', false
);
parent::initializeAction();
}
但这不再适用于 TYPO3 8。有什么建议吗?
【问题讨论】:
标签: typo3 rendering extbase webpage-rendering