--- class.tslib_menu ORG.php Thu Oct 22 14:15:18 2009 +++ class.tslib_menu.php Sun Nov 08 18:13:52 2009 @@ -2857,10 +2857,6 @@ $pid = $mount_info['mount_pid']; } - // Set "&MP=" var: - $MP_var = implode(',',$MP_array); - $MP_params = $MP_var ? '&MP='.rawurlencode($MP_var) : ''; - // UIDs to ban: $banUidArray = $this->getBannedUids(); @@ -2873,6 +2869,16 @@ $menuItems = is_array($menuItemArray) ? $menuItemArray : $this->sys_page->getMenu($pid); foreach($menuItems as $uid => $data) { + // Translate UID to a mount page if MP overlay flag ("substitute this page") is set: + $MP_array_incl_ovl = $MP_array; + $mount_info = $this->sys_page->getMountPointInfo($uid); + if (is_array($mount_info) && $mount_info['overlay']) { + $MP_array_incl_ovl[] = $mount_info['MPvar']; + } + // Set "&MP=" var: + $MP_var = implode(',',$MP_array_incl_ovl); + $MP_params = $MP_var ? '&MP='.rawurlencode($MP_var) : ''; + $spacer = (t3lib_div::inList($this->spacerIDList,$data['doktype'])?1:0); // if item is a spacer, $spacer is set if ($this->mconf['SPC'] || !$spacer) { // If the spacer-function is not enabled, spacers will not enter the $menuArr if (!t3lib_div::inList($this->doktypeExcludeList,$data['doktype']) && (!$data['nav_hide'] || $this->conf['includeNotInMenu']) && !t3lib_div::inArray($banUidArray,$uid)) { // Page may not be 'not_in_menu' or 'Backend User Section' + not in banned uid's