Un saluto a tutti...
ho bisogno di un consulto con qualcuno più esperto di me (non ci vuole tanto) in php...
Avevo bisogno di caratterizzare la voce di menu della pagina corrente, in modo da richiamare via include un solo menu e poter fare le modifiche in un solo file...
Cercando in vecchie discussioni qui sul forum ho trovato due esempi, ma le discussioni riguardavano altri dettagli o non erano portate a termine, per cui ho dovuto finire lo scriptino da me...VVoVe:
Risultato... mi ritrovo con due versioni che fanno la stessa cosa... anche a modo mi sembra...
Mi dite qual è la migliore? Magari con due righe di spiegazione sul perché, in modo che possa imparare qualcosina in più...![]()
Grazie in anticipo a chiunque mi concede un po' della sua attenzione e buon lavoro a tutti
PRIMA VERSIONE:
SECONDA VERSIONE:Codice PHP:<?php
# pagine menu con relativi link
$pagine = array ('prima' => 'prima.php','seconda' => 'seconda.php','terza' => 'terza.php', 'quarta' => 'quarta.php');
echo'<ul id="nav">
';
#crea menu
foreach ($pagine as $text => $link){
#verifica se la pagina un cui siamo è quella del menu e associa $class="link_attivo" (selezionato) $class="link_neutro"; (non selezionato)
if (basename($_SERVER['PHP_SELF'])==$link) $class="link_attivo"; else $class="";
echo'<li class="'.$class.'">[url="'.$link.'"]'.$text.'[/url]
';
}
echo'
[/list]
';
?>
Per qualche princiapiante come me, che volesse utilizzare una delle due soluzioni...Codice PHP:<?php
// definisce l'array di pagine
$pagine = array ('prima' => 'prima.php','seconda' => 'seconda.php','terza' => 'terza.php','quarta' => 'quarta.php');
// inizia l'elenco
echo '<ul>';
// per ogni elemento dell'array di pagine
foreach ($pagine as $text => $link)
{
// inizia la voce di elenco
echo '<li';
// se sono nella pagina linkata
if (substr($_SERVER['SCRIPT_NAME'],strrpos($_SERVER['SCRIPT_NAME'],'/')+1) == $link)
{
// aggiunge la classe appropriata
echo ' class="link_attivo"';
}
// inserisce link e testo
echo '>[url="' . $link . '"]' . $text . '[/url]';
}
// chiude l'elenco
echo '[/list]';
?>
oltre a salvare uno dei due codici precedenti come menu.php, poi basta includerlo nel proprio html, ad esempio così:
codice:<html> <head> <style type="text/css" media="all"> .link_attivo{background:#FF0000;} </style> </head> <body> <? include("menu.php"); ?> </body> </html>![]()

) in php...
VVoVe:

Rispondi quotando
