Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola amigos, boa tarde e um 2011 com muito SUCESSO para todos...
Abrindo meu 1º POST de 2011, venho aqui postar uma dúvida meio que simples, mais não consegui ver a solução.
É o seguinte, eu tenho um menu em jQuery e CSS, esse menu tem a seguinte estrutura
<ul>
<li><a href="index.html">HOME</a></li>
<li><a href="planos.html">PLANOS</a></li>
<li><a href="registro.html">REGISTRO DE DOMÍNIO</a></li>
<li><a href="suporte.html">SUPORTE</a></li>
<li class="current"><a href="central.html">CENTRAL DO CLIENTE</a></li>
<li><a href="contato.html">CONTATO</a></li>
</ul>
Reparem na seguinte parte;
<li class="current"><a href="central.html">CENTRAL DO CLIENTE</a></li>
Eu fiz ele só em html com o class="current" alterado manualmente em casa pagina, nesse caso o link "central.html" estaria em destaque.
Como posso fazer isso em PHP, para que altere dinamicamente sem precisar declarar manualmente?
Minha dúvida parece ser de CSS amigos, mais não é, é de puro PHP.
>
LEMBRANDO QUE PRETENDO ULTILIZAR A TÉCNICA DE REESCRITA DE URL, ACHO QUE ISSO MUDARIA UM POUCO, SE FOSSE PEGAR ALGO DA URL
Ola Eliseu... Vlw pela dica, mais minha intenção é fazer somente com PHP, e vou ultilizar reescrita de url dessa maneira.
site.com.br/noticias/esporte/5487/pedra-fundamental-da-vila-olimpica-e-lancada-e-projeto-recebe-aval-do-coi.html
site.com.br/fotos/eventos/54897/inauguracao-da-saraiva-mega-store-em-teixeira-de-freitas-ba.html
Acho que dá pra pegar o canal (noticias) e manipular com o PHP.
Você acha que dá certo?
Vlw
Ronny,
Tente fazer assim:
<?php
// PEGA A URL COMPLETA RETIRANDO O HTTP://
$urlcomp = str_replace("http://", "", $_SERVER['HTTP_HOST']);
// DIVIDE A URL PELAS BARRAS
$urlcomp = explode("/", $urlcomp);
// PEGA O LINK ACESSADO
$urlcomp = $urlcomp[1];
// TE EXPLICO O FUNCIONAMENTO DO SCRIPT... VOCÊ PEGOU UMA URL ASSIM:
// http://www.seusite.com.br/noticias/joao-e-maria-na-praia/patati/patata
// NA PRIMEIRA LINHA DO SCRIPT ELE RETIRA O HTTP://, DEIXANDO A URL ASSIM:
// www.seusite.com.br/noticias/joao-e-maria-na-praia/patati/patata
// DEPOIS, ELE SEPARA A URL POR PARTES, DEFININDO COMO CARACTERE DELIMITADOR, A "BARRA"
// 1º PARTE: www.seusite.com.br - ÍNDICE: 0
// 2º PARTE: noticias - ÍNDICE: 1
// 3º PARTE: joao-e-maria-na-praia - ÍNDICE: 2
// 4º PARTE: patati - ÍNDICE: 3
// 5º PARTE: patata - ÍNDICE: 4
// PORÉM, QUANDO VOCÊ DIVIDE A URL POR PARTES, ELE COMEÇA A CONTAR NO ZERO. OU SEJA,
// O ÍNDICE DA PARTE 1 É 0, O ÍNDICE DA PARTE 2 É 1.. E ASSIM POR DIANTE...
//
// OU SEJA, SE VOCÊ QUER PEGAR A SEGUNDA PARTE DA URL, QUE SERÁ O LINK QUE O USUÁRIO QUER ACESSAR,
// O ÍNDICE SERÁ 1 (UM), POR ISSO UTILIZAMOS $urlcomp[1].
?>
Agora é só definir a classe do link...
<ul>
<li <?php if ($urlcomp == "home") { echo "class='current'"; } ?>><a href="index.html">HOME</a></li>
<li <?php if ($urlcomp == "planos") { echo "class='current'"; } ?>><a href="planos.html">PLANOS</a></li>
<li <?php if ($urlcomp == "registro-de-dominio") { echo "class='current'"; } ?>><a href="registro.html">REGISTRO DE DOMÍNIO</a></li>
<li <?php if ($urlcomp == "suporte") { echo "class='current'"; } ?>><a href="suporte.html">SUPORTE</a></li>
<li <?php if ($urlcomp == "central") { echo "class='current'"; } ?>><a href="central.html">CENTRAL DO CLIENTE</a></li>
<li <?php if ($urlcomp == "contato") { echo "class='current'"; } ?>><a href="contato.html">CONTATO</a></li>
</ul>
Um abraço e feliz 2011!
Ola Cicero, fiz dessa maneira aqui [localhost] e deu certo
// index
<?php
$current_menu = $_SERVER['REQUEST_URI'];
$current_menu = explode("/", $current_menu);
$current_menu = $current_menu[2];
?>
<ul class="lavaLamp">
<li <?php print $current_menu == "home" ? "class=\"current\"" : NULL; ?> > <a href="home">HOME</a></li>
<li <?php print $current_menu == "planos" ? "class=\"current\"" : NULL; ?> ><a href="planos">PLANOS</a></li>
<li <?php print $current_menu == "registro" ? "class=\"current\"" : NULL; ?> ><a href="registro">REGISTRO DE DOMÍNIO</a></li>
<li <?php print $current_menu == "suporte" ? "class=\"current\"" : NULL; ?> ><a href="suporte">SUPORTE</a></li>
<li <?php print $current_menu == "central" ? "class=\"current\"" : NULL; ?> ><a href="central">CENTRAL DO CLIENTE</a></li>
<li <?php print $current_menu == "contato" ? "class=\"current\"" : NULL; ?> ><a href="contato">CONTATO</a></li>
</ul>
<?php
$pg = $_GET["p"]; include("home.html");
break;
case "planos":
include("planos.html");
break;
case "registro":
include("registro.html");
break;
case "suporte":
include("suporte.html");
break;
case "central":
include("central.html");
break;
case "contato":
include("contato.html");
break;
default: include("home.html");
}
?>
// .htaccess
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-z,0-9,A-Z,_-]+)$ index.php?p=$1
Aproveitando, você entende de reescrita de url?
http://forum.imasters.com.br/index.php?/topic/419153-url-amigaveis/
Se você entende, quero ver se você me ajuda a entender um esquema de usuários
Hmm, aí depende de como sua reescrita funciona. Se ela só remover a extensão, mais fácil, pois é só pegar a variável $_SERVER['PHP_SELF']; no Javascript e comparar com o atributo href, se forem iguais, ele adiciona a classe current. Mas, há um problema: se, por exemplo, PLANOS tiver sub-páginas, será necessário analisar a URL minuciosamente.
Veja um exemplo numa página simples (sem reescrita e sem sub-páginas):
.current a { color:red; }