Jump to content


Photo

Menu Php Com Class Current (Ativa)


  • Faça o login para participar
3 replies to this topic

#1 rumao

rumao

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 05/03/2012, 11:59

Boa tarde a todos. Tenho a seguinte situação em um menu:

    <ul>
      <li><a href="index.php?pg=home" target="_self" title="Home" class="<?php if($pg == 'home' or 'index.php') {print 'current';}?>">Home</a></li>
      <li><a href="index.php?pg=sobre" target="_self" title="Sobre" class="<?php if($pg == 'sobre') {print 'current';}?>">Sobre</a></li>
    </ul>
O menu funciona perfeitamente, só que a class currente quando entro no site já vem ativa, e quando clico nas demais, ela funciona mas, a class referente ao index.php ou home.php tbm ficam ativas.

Se eu tiro o 'or index.php' ele vem sem ela tivada, e continua funcionando perfeitamente mas, gostaria que ela viesse ativa e quando fosse trocando as página só a clicada ficasse com a imagem ativa.
Ex:
Posted Image

#2 Jonatã

Jonatã

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Masculino
  • Localidade:Niterói - RJ

Posted 05/03/2012, 16:23

Faça uma funçao em PHP com base em alguma variavel GET, que retorne a classe sómente quando GET for igual a pagina que está sendo acessada...

exemplo:
function boldMenu($referencia)
{
   if($referencia == $_GET['pg'])
   {
      return 'current';
   }
}

<a href="index.php?pg=home" target="_self" title="Home" class="<?php echo boldMenu('home');?>">Home</a>

Edição feita por: Jonatã, 05/03/2012, 16:25.


#3 rumao

rumao

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 07/03/2012, 09:27

Bom dia Jonatã, então cara deixei assim:
<?php function menuAtivo($ativaMenu)
{
  if($ativaMennu == $_GET['pg'])
  {
    return 'current';
	}
}
?>

      <li><a href="index.php?pg=home" target="_self" title="Home" class="<?php echo menuAtivo('home')?>">Home</a></li>

Mas, não funcionou. Ele abre com todos os ítens de menu ativados.
E quando clica no ítem de menu ele vem desativado. Acredito que eu esteja errando em algo.

#4 mentio

mentio

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:london

Posted 11/03/2012, 10:27

ela funciona mas, a class referente ao index.php ou home.php tbm ficam ativas.Posted Image




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq