Olá!Smile

Neste tutorial vou estar ensiando como fazer um recurso visto no site do MSN que permite mudar a cor de fundo. É bem simples. Primeiro vou mostrar como fazer usando o PHP num outro tutorial utilizando o Javascript.
Para poder acompanhar e recomendado ter conhecimentos de CSS, (X)HTML e PHP.

Primeiramente vamos montar a estrutura em XHTML:

<div class="cor-css">
   <ul>
    <li><a class="cor-preta" href=""></a></li>
    <li><a class="cor-branca" href=""></a></li>
    <li><a class="cor-amarelo" href=""></a></li>
    <li><a class="cor-azul" href=""></a></li>
    <li><a class="cor-verde" href=""></a></li>
   </ul>
</div>

A estrutura é basicamente isso, ainda falta colocar dentro do atributo href um código que irá fazer a "mágica".

?pag=<?php echo $_GET['pag']; ?>&css=verde

Explicando:

?pag=<?php echo $_GET['pag']; ?> Esté codigo irá ler na URL se há algum link que já tenha sido clicado antes do usuário alterar a cor. Por exemplo: Digamos que o usuário tenha visitado a página Artigos e resolveu trocar a cor. Sem esse código, ao clicar para mudar a cor, ele sairia da página que estava.

&css=verde  Após o sinal de fechamento do php utilizamos o & que é usado para declarar uma nova váriavel na url. Demos o nome de css que será usado pelo php para aplicar a cor clicada, depois do sinal de igual(=) damos o nome da cor.

Entre as tags <a> e </a> coloque o nome da cor ou a imagem respectiva.

A estrutura final do menu ficara assim:

<div class="cor-css">
   <ul>
    <li><a class="cor-preta" href="?pag=<?php echo $_GET['pag']; ?>&css=preto">Preto</a></li>
    <li><a class="cor-branca" href="?pag=<?php echo $_GET['pag']; ?>&css=branco">Branco</a></li>
    <li><a class="cor-amarelo" href="?pag=<?php echo $_GET['pag']; ?>&css=amarelo">Amarelo</a></li>
    <li><a class="cor-azul" href="?pag=<?php echo $_GET['pag']; ?>&css=azul">Azul</a></li>
    <li><a class="cor-verde" href="?pag=<?php echo $_GET['pag']; ?>&css=verde">Verde</a></li>
   </ul>
</div>

Agora vamos ao PHP criar o código que irá ler na url a váriavel que foi clicada.

<?php
$css = $_GET['css'];
switch ($css)
{
 case 'preto':  echo "@import url('css/cor_preto.css');";   break;
 case 'branco':  echo "@import url('css/cor_branco.css');";   break;
 case 'amarelo':  echo "@import url('css/cor_amarelo.css');";  break;
 case 'azul':  echo "@import url('css/cor_azul.css');";   break;
 case 'verde':  echo "@import url('css/cor_verde.css');";   break;
 default:   echo "@import url('css/cor_branco.css');";   break;

?>

Na primeira linha após a abertura da tag do php, declarei uma variavel que irá receber o que estiver na url.
Na segunda linha, iniciei com a estrutura condicional switch que irá buscar dentro do escopo do código o valor correspondente ao da url, quando encontrada escreverá dentro das tags <style> e </style> o codigo para importar o css.
Na ultima linha antes do fechamento das chaves, declarei a palavra-chave default que irá escrever o css padrão caso nenhum seja encontrado, ou seja, quando o usuario entrar no site pela primeita vez.

O código completo ficará assim:

<style type="text/css" media="screen">
<!--
<?php
$css = $_GET['css'];
switch ($css)
{
 case 'preto':  echo "@import url('css/cor_preto.css');";   break;
 case 'branco':  echo "@import url('css/cor_branco.css');";   break;
 case 'amarelo':  echo "@import url('css/cor_amarelo.css');";  break;
 case 'azul':  echo "@import url('css/cor_azul.css');";   break;
 case 'verde':  echo "@import url('css/cor_verde.css');";   break;
 default:   echo "@import url('css/cor_branco.css');";   break;

?>
-->
</style>

<div class="cor-css">
   <ul>
    <li><a class="cor-preta" href="?pag=<?php echo $_GET['pag']; ?>&css=preto">Preto</a></li>
    <li><a class="cor-branca" href="?pag=<?php echo $_GET['pag']; ?>&css=branco">Branco</a></li>
    <li><a class="cor-amarelo" href="?pag=<?php echo $_GET['pag']; ?>&css=amarelo">Amarelo</a></li>
    <li><a class="cor-azul" href="?pag=<?php echo $_GET['pag']; ?>&css=azul">Azul</a></li>
    <li><a class="cor-verde" href="?pag=<?php echo $_GET['pag']; ?>&css=verde">Verde</a></li>
   </ul>
</div>

O css não e misterio, dentro de cada folha de estilo que você criar para a cor expecifica, deverá conter a padronização para aquela cor. Se o fundo vai ser preto, então as cores terão de ser claras.

Bem simples! No proximo mostrarei como fazer com Javascript. Antes que vocês se faça a pergunta, "Por que não fazer logo com JavaScript?". Resposta: Bom! Podem usar junto com banco de dados, e permitindo que o seu cliente adione novas cores ataves da área adminisrativa. Ou por qualquer outro motivo! Como maior segurança!!! Laughing

É isso ai, espro que gostem!

Até++

Ninguém avaliou. Dê sua nota!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5