4
0
Fork 0

调整菜单选中

master
vine_liutk 2022-08-09 16:42:41 +08:00
parent 64f1d000b8
commit 3036a54042
1 changed files with 26 additions and 7 deletions

View File

@ -125,26 +125,45 @@ class Menu
if (empty($path)) {
$path = request()->path();
}
if (empty($item['children'])) {
if (empty($item['uri'])) {
return false;
}
return trim($this->getPath($item['uri']), '/') == $path;
$_uri = str_replace('/admin', '', $this->getPath($item['uri']));
if (empty($_uri) && $path !== 'admin') {
return false;
}
if (strpos($path, '?')) {
$path = substr($path, 0, strpos($path, '?'));
}
if (strpos($_uri, '?')) {
$_uri = substr($_uri, 0, strpos($_uri, '?'));
}
return strpos('/'.$path, $_uri) !== false;
}
foreach ($item['children'] as $v) {
if ($path == trim($this->getPath($v['uri']), '/')) {
return true;
}
//针对大于2级的菜单
if (! empty($v['children'])) {
if ($this->isActive($v, $path)) {
return true;
}
}else{
$_uri = str_replace('/admin', '', $this->getPath($v['uri']));
if (empty($_uri) && $path !== 'admin') {
return false;
}
if (strpos($path, '?')) {
$path = substr($path, 0, strpos($path, '?'));
}
if (strpos($_uri, '?')) {
$_uri = substr($_uri, 0, strpos($_uri, '?'));
}
if (strpos('/'.$path, $_uri) !== false) {
return true;
}
}
}
return false;
}