D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
crsys_ant
/
adm
/
app
/
adms
/
Views
/
include
/
Filename :
sidebar.php
back
Copy
<?php if (!defined('URL')) { header("Location: /"); exit(); } ?> <?php // Supondo que a Model já tenha carregado os dados do menu dentro de $this->Dados['menu'] if(isset($this->Dados['menu'])) { $menu_items = $this->Dados['menu']; $menus = []; // Criação dos menus principais e inicialização dos submenus foreach ($menu_items as $item) { if ($item['parent_id'] === null) { $menus[$item['id']] = $item; $menus[$item['id']]['submenus'] = []; } } // Adiciona submenus de nível 2 dentro dos menus principais foreach ($menu_items as $item) { if ($item['parent_id'] !== null && isset($menus[$item['parent_id']])) { $menus[$item['parent_id']]['submenus'][$item['id']] = $item; $menus[$item['parent_id']]['submenus'][$item['id']]['submenus'] = []; // Inicializa nível 3 } } // Adiciona submenus de nível 3 dentro dos submenus de nível 2 corretos foreach ($menu_items as $item) { if ($item['parent_id'] !== null) { foreach ($menus as &$menu) { if (isset($menu['submenus'][$item['parent_id']])) { $menu['submenus'][$item['parent_id']]['submenus'][] = $item; } } } } ?> </head> <div class="d-flex" style="margin-left: 2px; "> <nav class="sidebar"> <ul class="list-unstyled"> <?php foreach ($menus as $item): ?> <li class="nav-item"> <a href="#" class="nav-link text-white d-flex justify-content-between align-items-center" data-bs-toggle="collapse" data-bs-target="#submenu-<?= $item['id'] ?>"> <div class="d-flex align-items-center"> <i class="<?= $item['icone'] ?> me-2"></i> <span><?= $item['nome'] ?></span> </div> <i class="fas fa-sort-down toggle-icon"></i> </a> <?php if (!empty($item['submenus'])): ?> <ul class="collapse submenu-2" id="submenu-<?= $item['id'] ?>"> <?php foreach ($item['submenus'] as $subitem): ?> <li class="nav-item"> <a href="#" class="nav-link text-white d-flex justify-content-between align-items-center" data-bs-toggle="collapse" data-bs-target="#submenu-<?= $subitem['id'] ?>"> <div class="d-flex align-items-center"> <i class="<?= $subitem['icone'] ?> me-2"></i> <span><?= $subitem['nome'] ?></span> </div> <i class="fas fa-sort-down toggle-icon"></i> </a> <?php if (!empty($subitem['submenus'])): ?> <ul class="collapse submenu-3" id="submenu-<?= $subitem['id'] ?>"> <?php foreach ($subitem['submenus'] as $subsubitem): ?> <li class="nav-item"> <a href="<?= URLADM.$subsubitem['menu_controller'].'/'.$subsubitem['menu_metodo'] ?>" class="nav-link text-white"> <i class="<?= $subsubitem['icone'] ?> me-2"></i> <!-- Ícone antes do nome --> <?= $subsubitem['nome'] ?> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> </li> <?php endforeach; ?> <li class="nav-item"> <a href="<?= URLADM.'login'.'/'.'logout' ?>" class="nav-link text-white"> <i class="fas fa-sign-out-alt"></i> Sair</a> </li> </ul> </ul> </nav> <script> document.addEventListener("DOMContentLoaded", function () { document.querySelectorAll(".nav-link[data-bs-toggle='collapse']").forEach(link => { let targetId = link.getAttribute("data-bs-target").substring(1); let target = document.getElementById(targetId); let icon = link.querySelector(".toggle-icon"); target.addEventListener("shown.bs.collapse", function () { link.classList.add("expanded"); // Adiciona a classe ao link }); target.addEventListener("hidden.bs.collapse", function () { link.classList.remove("expanded"); // Remove a classe ao recolher }); }); }); </script> </body> <?php } ?>