Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
PaisNeto

Menu atribuir classe

Recommended Posts

PaisNeto

Boa tarde,

Estou a fazer um site, onde tenho um ficheiro que contem o menu do site

parte do codigo do menu

<nav class="nav-main mega-menu">
  <ul class="nav nav-pills nav-main" id="mainMenu">
    <li class="active"><a href="index.php">Home</a>
    </li>

parte codigo do index

<body>
	<?php include ("menu.php"); ?> 

 

por defeito a classe "active" está para a página index.php, o que eu queria é que quando fosse para a página contactos.php a classe deixasse de estar atribuida à página index.php e ficasse atribuida à página dos contactos.

obrigado

Edited by PaisNeto

Share this post


Link to post
Share on other sites
anolsi

Podes usar uma função do tipo:

function ScopedInclude($file, $params = array())
{
    extract($params);
    include $file;
}

E ao invés de fazeres o include directo, fazeres:

ScopedInclude('menu.php', array('includerFile' => basename(__FILE__)));

Depois no menu.php só tens que verificar se o filename coincide com aquele nó ou não para colocar a class active. Uma ideia interessante seria fazer utilizando javascript e jquery para seleccionar directamente o elemento via selector e adicionar a class. Mas isto só se estiveres à vontade com JS senão limita aos if do PHP para colocares o active


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
PaisNeto

Bom dia,

Não estou a vontade com o js e nem com php, vou vendo uns exemplos e tento adaptar ao que necessito...

eu comprei um template em html e queria coloca-lo um pouco "dinâmico"

eu hoje não vou ter oportunidade de explorar esta solução, mas amanhã já digo o que consegui fazer com isto.

Obrigado

Edited by PaisNeto

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.