active menu
This commit is contained in:
parent
1f34860cfd
commit
68bf73e764
@ -72,6 +72,14 @@ class Request
|
|||||||
return $this->host;
|
return $this->host;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return false|array|int|string|null
|
||||||
|
*/
|
||||||
|
public static function getUrlPath(): false|array|int|string|null
|
||||||
|
{
|
||||||
|
return parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Возвращает true если шифрование https, иначе false.
|
* Возвращает true если шифрование https, иначе false.
|
||||||
|
@ -47,6 +47,20 @@ class Menu extends Model
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function hasActiveChild(int $id): bool
|
||||||
|
{
|
||||||
|
$child = self::getChild($id);
|
||||||
|
if (!$child->isEmpty()){
|
||||||
|
foreach ($child as $item){
|
||||||
|
if ($item->url === \kernel\Request::getUrlPath()){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string[]
|
* @return string[]
|
||||||
*/
|
*/
|
||||||
|
@ -9,16 +9,16 @@
|
|||||||
if ($child): ?>
|
if ($child): ?>
|
||||||
<li>
|
<li>
|
||||||
<a href="#item<?=$item->id?>" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle"><?= $item->label ?></a>
|
<a href="#item<?=$item->id?>" data-toggle="collapse" aria-expanded="false" class="dropdown-toggle"><?= $item->label ?></a>
|
||||||
<ul class="collapse list-unstyled" id="item<?=$item->id?>">
|
<ul class="collapse list-unstyled <?= \kernel\models\Menu::hasActiveChild($item->id) ? "show" : "" ?>" id="item<?=$item->id?>">
|
||||||
<?php foreach ($child as $subitem): ?>
|
<?php foreach ($child as $subitem): ?>
|
||||||
<li>
|
<li class="<?= $subitem->url === \kernel\Request::getUrlPath() ? "active" : "" ?>">
|
||||||
<a href="<?= $subitem->url ?>"><?= $subitem->label ?></a>
|
<a href="<?= $subitem->url ?>"><?= $subitem->label ?></a>
|
||||||
</li>
|
</li>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<li>
|
<li class="<?= $item->url === \kernel\Request::getUrlPath() ? "active" : "" ?>">
|
||||||
<a href="<?= $item->url ?>"><?= $item->label ?></a>
|
<a href="<?= $item->url ?>"><?= $item->label ?></a>
|
||||||
</li>
|
</li>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user