Index: t3lib/class.t3lib_loadmodules.php =================================================================== --- t3lib/class.t3lib_loadmodules.php (Revision 10039) +++ t3lib/class.t3lib_loadmodules.php (Arbeitskopie) @@ -255,6 +255,11 @@ } } + // check if this is a submodule + if (strpos($name, '_') !== FALSE) { + list($mainModule, ) = explode('_', $name, 2); + } + $modconf = array(); $path = preg_replace('/\/[^\/.]+\/\.\.\//', '/', $fullpath); // because 'path/../path' does not work if (@is_dir($path) && file_exists($path . '/conf.php')) { @@ -331,8 +336,13 @@ $modconf['navFrameScriptParam'] = $MCONF['navFrameScriptParam']; } + // check if there is a navigation component (like the pagetree) if (is_array($this->navigationComponents[$name])) { $modconf['navigationComponentId'] = $this->navigationComponents[$name]['componentId']; + // check if the parent has a navigation component that also + // goes down to the submodules (if they haven't overwritten it yet) + } else if ($mainModule && is_array($this->navigationComponents[$mainModule])) { + $modconf['navigationComponentId'] = $this->navigationComponents[$mainModule]['componentId']; } } else { return FALSE; Index: typo3/sysext/pagetree/ext_tables.php =================================================================== --- typo3/sysext/pagetree/ext_tables.php (Revision 10039) +++ typo3/sysext/pagetree/ext_tables.php (Arbeitskopie) @@ -4,15 +4,10 @@ } if (TYPO3_MODE === 'BE') { - $modules = array( - 'web_layout', 'web_view', 'web_list', 'web_info', 'web_perm', 'web_func', 'web_ts', - 'web_txrecyclerM1', 'web_txversionM1' - ); - foreach ($modules as $module) { - t3lib_extMgm::addNavigationComponent($module, 'typo3-pagetree', array( - 'TYPO3.Components.PageTree' - )); - } + + t3lib_extMgm::addNavigationComponent('web', 'typo3-pagetree', array( + 'TYPO3.Components.PageTree' + )); $absoluteExtensionPath = t3lib_extMgm::extPath($_EXTKEY); $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ExtDirect'] = array_merge(