Jack Oliveira 1 Denunciar post Postado Outubro 1, 2019 Ola pessoal boa tarde... Estou tendo uma dificuldade em fazer ativação do menu usando PHP/FUNCTION quero que quando clicar em uns dos menus aquele menu seja ativo com a class="active" Na minha function esta assim // Ativa menu function AtivaMenu($menulink){ $url = $_SERVER['REQUEST_URI']; if(strpos($url, $menulink) == true) echo 'class="active"'; } No HTML esta assim <ul class="navbar-nav ml-auto"> <?php $Query = DBRead('menus','*',"WHERE id>0 ORDER BY id ASC"); if (is_array($Query)) { foreach ($Query as $menus) { ?> <li><a <?php AtivaMenu($menus['url']); ?> href="<?php echo $menus['url']; ?>" target="<?php echo $menus['target']; ?>"><?php echo $menus['nome']; ?></a></li> <?php }} ?> </ul> Obs: Esta mesma function eu uso no meu painel ela funciona Mais ja dentro do site ela não funciona Se ter outra maneira que eu possa usar fico grato pela ajuda ai... Compartilhar este post Link para o post Compartilhar em outros sites
Omar~ 87 Denunciar post Postado Outubro 3, 2019 A melhor formar de fazer isso é: Ao criar o link você o identifica, pode ser com o próprio id da consulta. Então usando o javascript ao abrir a página você remove todos os classificados active dos links. Logo após ao abrir a página você busca o link que contenha aquele id da página e adiciona o classificador active a ele. Exemplo: Criando os links <?php foreach ($array as $v) { ?> <a href="<?= $v['link'] ?>" id="link-de-id-<?= $v['id']?>"><?= $v['texto_a_exibir']? class="exemplo"></a> <?php } Na página que foi aberta consultamos seu id na consulta e usamos jascript <script> var links = document.querySelectorAll('a.exemplo'); for (var i = 0; i < links.length; i++) { links[i].className = 'exemplo'; } document.getElementById('link-de-id-<?= $query['id'] ?>').classList.add('active'); </script> Primeiramente removemos qualquer active que contenha em algum link Então como o id da página tem o mesmo id do link adicionamos o classificador no link Compartilhar este post Link para o post Compartilhar em outros sites