Salve a tutti...
Partendo dal presuppo che non so assolutamente NIENTE di javascript vi chiedo aiuto!
Ho trovato su internet un menu espandibile carino che fa proprio al caso mio...ma dovrei apportare alcune modifiche e non sono in grado!! Chi mi aiuta???
Prima di tutto vi allego l'immagine del menu, per farvi rendere conto di com'è!!!
Poi vi allego il codice javascript che si trova nel file expand.js:
codice:
var prev= null;
window.onload=function(){
if(document.getElementsByTagName && document.getElementById){
document.getElementById("nav").className="jsenable";
BuildList();
}
}
function BuildList(){
var hs=document.getElementById("nav").getElementsByTagName("h3");
for(var i=0;i<hs.length;i++){
hs[i].onclick=function(){
if(this.parentNode.className!="show"){
this.parentNode.className="show";
if(prev && prev!=this.parentNode) prev.className="hide";
prev=this.parentNode;
}
else this.parentNode.className="hide";
}
}
}
Poi vi allego il codice del file php che richiama il menu javascript:
Codice PHP:
<html>
<head>
<title>Menù</title>
</head>
<link rel="stylesheet" type="text/CSS" href="css.CSS">
<script type="text/Javascript" src="expand.js"></script>
<body>
<div id="nav">
<ul>
<?php
session_start();
$macro_utente=$_SESSION['macro'];
$c=oci_connect("xxx", "xxx", "xxx");
$queryprima=oci_parse($c,"select m.cod_macro livello1, m.des_macro des_livello1 from con_macro m order by m.ordine");
oci_execute($queryprima);
$j=1;
while (($riga=oci_fetch_array($queryprima, OCI_NUM + OCI_RETURN_NULLS))){
echo("[*]<h3>".$riga[1]."</h3><ul>");
$macro=$riga[0];
$queryseconda=oci_parse($c,"select m.cod_macro livello1, fu.des_funzione des_livello2 from con_macro m, con_menu me, con_funzioni fu where m.cod_macro = me.cod_macro and me.cod_funzione = fu.cod_funzione and m.cod_macro='$macro' order by m.ordine,me.ordine");
oci_execute($queryseconda);
$i=1;
while (($row=oci_fetch_array($queryseconda, OCI_NUM + OCI_RETURN_NULLS))){
echo ('[*][url="prova_menu'.$j.'_'.$i.'.php"]'.$row[1].'[/url]');
$i++;
} echo('[/list]');
$j++;
}
?>
[/list]
</div>
</body>
</html>
Tra questi tag[*]<h3> è contenuta la voce di menu principale nell'immagine ad esempio "Accettazione" e tra questo tag[*] è contenuta la voce del sotto menu.
Il menu è espandibile una sezione alla volta.
Penso di avervi dato tutto quello che vi serve per capire....
Ora le modifiche che vorrei fare in ordine di importanza, sono due:
1- (IMPORTANTISSIMO) Far si che ogni utente possa vedere solo la parte che gli compete. Come vedete nella pagina php ho una variabile che si chiama $macro_utente che contiene il nome (per esempio) "Accettazione". Quindi a me basterebbe inserire un controllo che dice che se la voce di menu che l'utente clicca è "Accettazione" (cioè uguale a $macro_utente) allora la voce si espande altrimenti se clicca sulle altre voci non devono espandersi. Come si fa questa cosa???
2- Inoltre vorrei aggiungere un altro livello, cioè ogni sotto menu o alcuni sottomenu devono aprirsi ancora, come posso fare???
VI PREGO....AIUTATEMI!!! Non so più dove sbattere la testa!!!
Grazie
Sara