diff --git a/beike/Admin/Http/Controllers/MarketingController.php b/beike/Admin/Http/Controllers/MarketingController.php index a82c3ad4..fbd67013 100644 --- a/beike/Admin/Http/Controllers/MarketingController.php +++ b/beike/Admin/Http/Controllers/MarketingController.php @@ -26,7 +26,7 @@ class MarketingController $filters = [ 'type' => $request->get('type'), 'keyword' => $request->get('keyword'), - 'page' => $request->get('page'), + 'page' => $request->get('page'), ]; $plugins = MarketingService::getInstance()->getList($filters); $data = [ diff --git a/beike/Admin/View/Components/Header.php b/beike/Admin/View/Components/Header.php index c65ec2bd..b1a13a0e 100644 --- a/beike/Admin/View/Components/Header.php +++ b/beike/Admin/View/Components/Header.php @@ -32,18 +32,31 @@ class Header extends Component $preparedMenus = $this->prepareMenus(); foreach ($preparedMenus as $menu) { - if ($menu['code']) { - $routes = []; - $sideMenuRoutes = $sidebar->{"get{$menu['code']}SubRoutes"}(); - - foreach ($sideMenuRoutes as $route) { - $route_first = explode('.', $route['route'])[0] ?? ''; - $routes[] = 'admin.' . $route['route']; - $routes[] = 'admin.' . $route_first . '.edit'; - $routes[] = 'admin.' . $route_first . '.show'; + $menuCode = $menu['code'] ?? ''; + if ($menuCode) { + $routes = []; + $subRoutesMethod = "get{$menu['code']}SubRoutes"; + if (method_exists($sidebar, $subRoutesMethod)) { + $sideMenuRoutes = $sidebar->{"get{$menu['code']}SubRoutes"}(); + foreach ($sideMenuRoutes as $route) { + $routeFirst = explode('.', $route['route'])[0] ?? ''; + $routes[] = 'admin.' . $route['route']; + $routes[] = 'admin.' . $routeFirst . '.edit'; + $routes[] = 'admin.' . $routeFirst . '.show'; + } } - $is_route = equal_route($routes); + $data = [ + 'menu_code' => $menuCode, + 'routes' => $routes, + ]; + $filterRoutes = hook_filter('admin.components.header.routes', $data); + $routes = $filterRoutes['routes'] ?? []; + if (empty($routes)) { + $is_route = equal_route('admin.' . $menu['route']); + } else { + $is_route = equal_route($routes); + } } else { $is_route = equal_route('admin.' . $menu['route']); }