2011-03-04 4 views
4

커스케이드 스타일 시트를 TYPO3 확장에 포함하려고합니다. 나는 "킥 스타터"라는 확장 기능을 만들었습니다.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

에서, 그것은 또한 자신의 BE 모듈이없는 확장으로 작동합니다. – Mateng

+0

인스턴스를 도메인의 "루트"에 의존하지 않는 솔루션을 사용하려면'\ TYPO3 \ CMS \ Core \ Utility \ ExtensionManagementUtility :: extRelPath()'를 사용해야합니다. – pduersteler

0

벨로 ext_tables.php 파일의 줄 다음 TYPO3 8.7.X 버전

단계-1 추가에 대한 작동 트릭 주어진

$GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['name'] = $_EXTKEY; 
$GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories']['css'] = 'EXT:'.$_EXTKEY.'/stylesheets/visual/'; 

2 단계 : 임의의 이름으로 CSS 파일 정의 (확장 내부 의 '스타일/영상/'우리의 경우) 지정된 경로 더 나은이 옵션을 좋아