Index: typo3/sysext/cms/classes/class.tx_cms_backendlayout.php =================================================================== --- typo3/sysext/cms/classes/class.tx_cms_backendlayout.php (revision 10201) +++ typo3/sysext/cms/classes/class.tx_cms_backendlayout.php (revision ) @@ -74,8 +74,12 @@ } foreach (t3lib_div::trimExplode(',', $tsConfig['properties']['removeItems'], 1) as $removeId) { - unset($tcaItems[$removeId]); + foreach ($tcaItems as $key => $item) { + if ($item[1] == $removeId) { + unset($tcaItems[$key]); - } + } + } + } return $tcaItems; } @@ -96,17 +100,20 @@ 'pages', 'uid=' . intval($rootline[$i]['uid']) ); - - if (intval($page['backend_layout_next_level']) > 0 && $page['uid'] != $id) { - $backendLayoutUid = intval($page['backend_layout_next_level']); + $selectedBackendLayout = intval($page['backend_layout']); + $selectedBackendLayoutNextLevel = intval($page['backend_layout_next_level']); + if ($selectedBackendLayout != 0 && $page['uid'] == $id) { + if ($selectedBackendLayout > 0) { + $backendLayoutUid = $selectedBackendLayout; + } break; - } else { - if (intval($page['backend_layout']) > 0) { - $backendLayoutUid = intval($page['backend_layout']); + } else if ($selectedBackendLayoutNextLevel == -1 && $page['uid'] != $id) { - break; + break; + } else if ($selectedBackendLayoutNextLevel > 0 && $page['uid'] != $id) { + $backendLayoutUid = $selectedBackendLayoutNextLevel; + break; - } - } + } + } - } $backendLayout = NULL; if ($backendLayoutUid) { @@ -151,4 +158,4 @@ include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/cms/classes/class.tx_cms_backendlayout.php']); } -?> \ No newline at end of file +?>