Bisher ist es bei Extbase Erweiterungen nur möglich, mittels Tx_Extbase_Utility_Extension::registerModule() seine eigenen Backend Module in vorhandene Module einzuklinken, sprich in web, file, user, tools usw.
Über die traditionelle Methode t3lib_extmGm::addModule() kann man sich jedoch ein Dummy-Hauptmodul erstellen, in das man die neuen Module dann als Submodule einklinken kann.
ext_localconf.php
if (TYPO3_MODE === 'BE') { $mainModuleName = str_replace('_', '', $_EXTKEY) . 'M1'; // Hack damit das Modul direkt nach dem Web Modul erscheint // die Angabe der $position in addModule() funktioniert hier leider nicht if (!isset($TBE_MODULES[$mainModuleName])) { $temp_TBE_MODULES = array(); foreach($TBE_MODULES as $key => $val) { if($key == 'web') { $temp_TBE_MODULES[$key] = $val; $temp_TBE_MODULES[$mainModuleName] = ''; } else { $temp_TBE_MODULES[$key] = $val; } } $TBE_MODULES = $temp_TBE_MODULES; } // Hauptmodul erstellen t3lib_extMgm::addModule($mainModuleName, '', '', t3lib_extMgm::extPath($_EXTKEY).'Configuration/BackendModule/'); // Erstes richtiges Backend Modul der Extension Tx_Extbase_Utility_Extension::registerModule( $_EXTKEY, $mainModuleName, 'subModuleName', '', array( // ... ), array( // ... ) ); } |
Unter Configuration/BackendModule/ (das Verzeichnis kann natürlich beliebig gewählt werden) erstellen wir noch eine conf.php:
< ?php /** * Dummy Konfiguration fürs Haupt Backend Modul */ define('TYPO3_MOD_PATH', '../typo3conf/ext/ext_key/Configuration/BackendModule/'); $MCONF['name'] = 'txextkeyM1'; $MCONF['script'] = '_DISPATCH'; $MCONF['access'] = 'user,group'; $MLANG['default']['tabs_images']['tab'] = 'moduleicon.gif'; $MLANG['default']['ll_ref'] = 'LLL:EXT:ext_key/Resources/Private/Language/locallang_mod_main.xml'; ?> |
Somit kann TYPO3 unser „Dummy“ Hauptmodul ordnungsgemäß erstellen und die eigentlichen Module werden als Kind-Module hinzugefügt.
Das Ganze sieht dann so aus:
Perfekt, genau das was ich gesucht hab! Vielen Dank!
Inzwischen kann man auch zweimal RegisterModule() verwenden (einmal fürs Hauptmodul, einmal fürs Submodul). Damit ist die „alte“ conf.php dann überflüssig. Um allerdings das neue Hauptmodul in der Reihenfolge zu verschieben, muss man dennoch $TBE_MODULES manipulieren:
http://www.typo3tiger.de/blog/post/typo3-backend-modul-erstellen.html
Mich würde interessieren wo die Module-Labels her kommen.
PS. Das ckeditor im viesuellen Modus funktioniert im Chrome nicht.