il sistema di generazione dei menu, in modo che il sottomenu
appaia solo se è settato. Posto il codice (tagliato) e poi mi spiego meglio:
Codice: Seleziona tutto
<?php
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$rightmenu=array(
"modulistica"=>array("modulistica"=>"Modulistica",
"utenti"=>"Utenza",
"personale"=>"Personale"),
"biblioteca"=>array("biblioteca"=>"La biblioteca",
"regolamento_biblioteca"=>"Regolamento della Biblioteca")
);
$activemenu=0;
$folder="home";
foreach($rightmenu as $kmenu=>$vmenu) {
if(array_key_exists($pagina,$vmenu) | $pagina==$kmenu) {
$activemenu=$rightmenu[$kmenu];
$folder=$kmenu;
}
}
$vocimenu=array(
"home"=>"<span class=\"evid\">H</span>ome",
"chisiamo"=>"Ch<span class=\"evid\">i</span> siamo",
"contatti"=>"Conta<span class=\"evid\">t</span>ti"
);
$akmenu=array(
"home"=>"H",
"chisiamo"=>"I",
"contatti"=>"T",
"news"=>"N"
);
foreach($vocimenu as $voce=>$vocevisualizzata) {
echo "
<li>";
if($pagina!=$voce) echo "<a href=\"index.php?pagina=$voce\"
accesskey=\"{$akmenu["$voce"]}\">";
echo $vocevisualizzata;
if($pagina!=$voce) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div><!--navbar--> </div><!--navbarwrapper--> </div><!--header-->
<div id="container"> <div id="wrapper"> <div id="leftmenu">
<ul>
<?php
$vocimenu2=array(
"modulistica"=>"<span class=\"evid\">M</span>odulistica",
"materiali"=> "Materiali",
"biblioteca"=>"<span
class=\"evid\">B</span>iblioteca"
);
$akmenu2=array(
"home"=>"H",
"modulistica"=>"M",
"biblioteca"=>"B"
);
foreach($vocimenu2 as $voce=>$vocevisualizzata) {
echo "
<li>";
if($pagina!=$voce) echo "<a href=\"index.php?pagina=$voce\"
accesskey=\"{$akmenu2["$voce"]}\">";
echo $vocevisualizzata;
if($pagina!=$voce) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
</div><!--leftmenu--><div id="rightmenu">
<?php
if($activemenu) {
echo "
<ul>";
foreach($activemenu as $voce3 => $label) {
echo "
<li>";
if($pagina!=$voce3) echo '<a href="index.php?pagina='.$voce3.'">';
echo $label;
if($pagina!=$voce3) echo "</a>";
echo "</li>";
}
echo "
</ul>\n";
} else echo " ";
?>
e ogni menu sinistro, se selezionato, genera sempre il corrispondente menu destro.
Se il menu a livello di CSS è costituito da solo testo, allora in apparenza
non succede niente: ma solo perché non si vede! Se però io volessi ad es
racchiuderlo in una cornice, allora il problema si evidenzia. Alcune voci di menu
determinanno l'apparizione di un menu vuoto, cioè di una cornice vuota.
Ecco, bisognerebbe che ogni voce di menu accertasse se c'è un sottomenu
e solo in questo caso generasse il sottomenu, altrimenti niente.
Solo che non capisco se si possa fare aggiungendo una condizione, un if ... then
o se è necessario reimpostare anche la struttura di partenza dei menu stessi...
Grazie
M.