From 4aac098b3fdc0953e1591db4fd88b2bab45a301c Mon Sep 17 00:00:00 2001 From: zhujinyong Date: Mon, 12 Apr 2021 17:27:05 +0800 Subject: [PATCH] * Fix menu divider. --- module/common/model.php | 4 ++-- module/custom/model.php | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/module/common/model.php b/module/common/model.php index 8a0e266464..c5f7c6a64c 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -633,7 +633,7 @@ class commonModel extends model { if(isset($menuItem->hidden) && $menuItem->hidden) continue; if(empty($menuItem->link)) continue; - if(isset($lang->$openApp->dividerMenu) and strpos($lang->$openApp->dividerMenu, ",{$menuItem->name},") !== false) echo "
  • "; + if($menuItem->divider) echo "
  • "; /* Init the these vars. */ $alias = isset($menuItem->alias) ? $menuItem->alias : ''; @@ -814,7 +814,7 @@ class commonModel extends model { if(isset($menuItem->hidden) && $menuItem->hidden) continue; if($isMobile and empty($menuItem->link)) continue; - if(isset($lang->$moduleName->dividerMenu) and strpos($lang->$moduleName->dividerMenu, ",{$menuItem->name},") !== false) echo "
  • "; + if($menuItem->divider) echo "
  • "; /* Init the these vars. */ $alias = isset($menuItem->alias) ? $menuItem->alias : ''; diff --git a/module/custom/model.php b/module/custom/model.php index 3b51c53e50..3143426d46 100644 --- a/module/custom/model.php +++ b/module/custom/model.php @@ -217,6 +217,7 @@ class customModel extends model if(is_array($allMenu) and !isset($allMenu[$name])) $allMenu[$name] = $item; } + $divider = false; foreach($allMenu as $name => $item) { if(is_object($item)) $item = (array)$item; @@ -244,6 +245,13 @@ class customModel extends model $hasPriv = commonModel::hasPriv($module, $method); } + /* When last divider is not used in mainMenu, use it next menu. */ + if($menuModuleName == 'main') + { + $openApp = $app->openApp; + $divider = $divider || (isset($lang->$openApp->dividerMenu) and strpos($lang->$openApp->dividerMenu, ",{$name},") !== false) ? true : false; + } + if($isTutorialMode || $hasPriv) { $itemLink = ''; @@ -304,6 +312,10 @@ class customModel extends model if($exclude) $menuItem->exclude = $exclude; if($isTutorialMode) $menuItem->tutorial = true; + /* Set divider and reset it. */ + $menuItem->divider = $divider; + $divider = false; + /* Hidden menu by config in mobile. */ if($app->viewType == 'mhtml' and isset($config->custom->moblieHidden[$menuModuleName]) and in_array($name, $config->custom->moblieHidden[$menuModuleName])) $menuItem->hidden = 1; @@ -325,9 +337,10 @@ class customModel extends model */ public static function getModuleMenu($module = 'main', $rebuild = false) { + global $app, $lang, $config; + if(empty($module)) $module = 'main'; - global $app, $lang, $config; $allMenu = new stdclass(); if($module == 'main' and !empty($lang->menu)) $allMenu = $lang->menu; if($module != 'main' and isset($lang->menu->$module) and isset($lang->menu->{$module}['subMenu'])) $allMenu = $lang->menu->{$module}['subMenu']; @@ -337,6 +350,7 @@ class customModel extends model if(commonModel::isTutorialMode() && $module === 'main') $customMenu = 'my,product,project,qa,company'; if(!empty($customMenu) && is_string($customMenu) && substr($customMenu, 0, 1) === '[') $customMenu = json_decode($customMenu); if($module == 'my' && empty($config->global->scoreStatus)) unset($allMenu->score); + $menu = self::setMenuByConfig($allMenu, $customMenu, $module); return $menu;