2011-03-04 45 views
4

我想包括我的級聯樣式表到我的TYPO3擴展。我用「kickstarter」創建了擴展。這是我試圖包括它的方式:在TYPO3後端包含CSS文件?

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

我添加了線在main()方法結束。 那麼我在做什麼錯了?包含該文件的路徑確實存在。

謝謝。

回答

6

好的,我終於可以解決問題。

在實例化「doc」對象後添加代碼時,一切正常。

$this->doc = t3lib_div::makeInstance('mediumDoc'); 
$this->doc->getPageRenderer()->addCssFile(t3lib_extMgm::extRelPath('myExt') . 'res/css/my_stylesheet.css'); 
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";'; 
} 
+0

我喜歡這個選項比較好,它也可以在不具有自行模塊擴展。 – Mateng 2015-04-13 16:23:38

+0

應該使用'\ TYPO3 \ CMS \ Core \ Utility \ ExtensionManagementUtility :: extRelPath()'有一個解決方案,不依賴於位於域的「根」上的實例。 – pduersteler 2016-03-29 12:55:56

0

貝洛給出把戲,爲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/'; 

第2步:用任何名稱定義css文件在(擴展內部在我們的例子 其「樣式表/視頻/」)給出的路徑