在TYPO3后台如何包含CSS文件?

4

我正在尝试将我的层叠样式表包含到我的TYPO3扩展中。我使用“kickstarter”创建了这个扩展。我尝试的方法如下:

$this->doc->getPageRenderer()->addCssFile(t3lib_extMgm::extRelPath('myExt') . 'res/css/my_stylesheet.css');

我在main()方法的末尾添加了那行代码。那么我做错了什么?包含文件的路径确实存在。
谢谢。
3个回答

7

如果您想在与您的模块不同的模块中包含CSS文件,而无需修改它,则可以使用$TBE_STYLES数组。

ext_tables.php:

// Custom CSS include
if (TYPO3_MODE=="BE")   {
    $TBE_STYLES['inDocStyles_TBEstyle'] .= '@import "/typo3conf/ext/your_ext/res/css/your.css";';
}

我更喜欢这个选项,它也适用于没有自己的BE模块的扩展。 - Mateng
应该使用\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()来解决问题,这样就不需要依赖实例在域的“根”上。 - pdu

6

好的,我最终解决了这个问题。

将代码添加在“doc”对象实例化之后,一切都很正常。

$this->doc = t3lib_div::makeInstance('mediumDoc');
$this->doc->getPageRenderer()->addCssFile(t3lib_extMgm::extRelPath('myExt') . 'res/css/my_stylesheet.css');

1
以下提示适用于TYPO3 8.7.X版本:
步骤1:在ext_tables.php文件中添加以下行。
$GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['name'] = $_EXTKEY;
$GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories']['css'] = 'EXT:'.$_EXTKEY.'/stylesheets/visual/';

步骤二:在给定路径下定义任何名称的css文件(在我们的情况下,它在扩展内的“stylesheets/visual/”中)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接