在actioncontroller中的Extbase addAdditionalHeaderData(…),包含两次相同的CSS

对于我的extbase扩展,我需要一个包含在所有actioncontrollers中的CSS:

$this->response->addAdditionalHeaderData('<link rel="stylesheet" type="text/css" href="' . t3lib_extMgm::siteRelPath($this->request->getControllerExtensionKey()) . 'Resources/Public/css/mystyle.css" />');  

如果我现在有一个页面,其中包含我的扩展的多个插件,我有多个CSS包括:

<link rel="stylesheet" type="text/css" href="typo3conf/ext/myext/Resources/Public/css/mystyle.css">
<link rel="stylesheet" type="text/css" href="typo3conf/ext/myext/Resources/Public/css/mystyle.css">

编辑

我也可以做以下事情:

$GLOBALS['TSFE']->additionalHeaderData[100] = '<link ...>';

但据我所知,这只是旧的方式.

最佳答案 我通常喜欢使用静态TypoScript包含CSS和JS,因为如果有人想拥有自己的CSS,它更容易调整.

如果仅在“扩展”页面上包含此TS,则应将其从TYPO3 CSS-Merger中排除.

只需使用以下TypoScript

page.includeCSS.myExtCss = EXT:myext/Resources/Public/css/mystyle.css
page.includeCSS.myExtCss.excludeFromConcatenation = 1
点赞