Negócios na Net

REDEBIZ.NET - Negócios na Net: tudo o que precisa saber para o seu sucesso online.

Subscreva o Feed de Notícias e receba no seu mail todas as novidades.
O que lê neste artigo resulta do meu trabalho.Não existem aqui conteúdos copiados. Todos os artigos têm uma assinatura digital. Se é daquela minoria que gosta de roubar o trabalho dos outros agradeço que não o faça, até porque eu vou descobrir.

Autor: Webmaster

Outubro 5, 2011

Menus flexíveis e simples com PHP

O PHP é uma linguagem poderosa e muito flexível que pode dar uma ajuda preciosa e eficiente à programação, mesmo fora das necessidades das aplicações do tipo cliente / servidor. Há muitas tarefas que são entregues ao ‘Javascript’ que poderiam em múltiplas circunstâncias com maior simplicidade ser feitas em PHP. Neste caso vou dar um exemplo relativo à configuração de Menus flexíveis.

Quem faz sites sabe que normalmente é preciso procurar soluções com um código simplificado e “clean”, mas ao mesmo tempo poderosas, que permitam rapidamente propagar eventuais alterações que sejam necessário implementar. Uma das ideias que procuro usar neste sentido é criar files únicas de “header” e “footer” que são carregadas por todas as páginas através de uma instrução do tipo

<?
require_once("header.php");
?>

O que acontece por vezes é que, por exemplo, nesse ‘header’ e ‘footer’ único por vezes encontram-se rotinas, como menus superiores, por exemplo, que seria nalguns casos alterar perante situações de páginas específicas. Aqui explico como resolver este problema de uma forma simples.

1. Determinar a página atual

Saber a página em que o ‘header’ está a ser chamado é a primeira coisa a fazer. A rotina que costumo utilizar é esta:

<?
$aqui = str_replace('.php','',basename($_SERVER['REQUEST_URI']));
?>

O comando ‘str_replace’ serve apenas para poupar trabalho à frente a digitar, retirando a extensão ‘.php’ ou ‘.html’ do nome dos ficheiros. O comando ‘basename’ por sua vez retira o nome do ficheiro atual do path encontrado em $_SERVER['REQUEST_URI'].

2. Editar o Menu

Agora apenas falta editar o Menu Geral no sentido de este conter links e títulos de acordo com a página encontrada.

Desta maneira é possível ter um menu único que tem partes que variam de acordo com o local onde nos encontramos. Podemos fazer tudo em PHP ou então, para maior rapidez, abrir e fechar o código PHP em blocos if… else.

<div id="menusup">
   <ul>
     <li><a href="index.php" title="Acerca da nossa empresa">
     Início</a></li>

     <? if ($aqui=='destaques' || $aqui=='edicoes-autor'
     || $aqui=='faks' || $aqui=='links') { ?>
     <li><a href="comprar-livros.php"
     title="Veja os títulos disponíveis">Livraria On-Line</a></li>

     <? } else { ?>
     <li><a href="geslogin.php?tipo=adm"
     title="Fale connosco">Menu do Back Office</a></li>
     <? } ?>

     <li style="border-right:none">
     <a href="geslogin.php?tipo=cli"
     title="Acesso ao Perfil">Login</a></li>
</ul>

Como se pode ver no exemplo acima, sempre que o Menu tiver que ser exibido nas páginas com o nome “destaque”, “edicoes-autor”, etc. o menu é alterado para exibir um link diferente.

Naturalmente poder-se-iam dar exemplos bastante mais elaborados, mas aqui fica a ideia: flexibilidade e simplicidade nos Menus (ou quaisquer outras rotinas…) usando o PHP e a informação obtida através do $_SERVER['REQUEST_URI'].

Por isso a minha sugestão é: pense no PHP para ajudar a resolver muitos dos “pequenos” problemas de programação para o desenvolvimento Web, mesmo rotineiros e de todos os dias.

CATEGORIA: Software

Comentários

Não existem comentários até ao momento. Deixe no quadro a seguir o seu.

Coloque aqui o seu comentário

Formulário de contacto

Deixe as suas impressoes preenchendo os campos abaixo

Introduza o seu endereço de E-mail:

Delivered by FeedBurner

Highslide for Wordpress Plugin