- Home
- Categorie
- Coding e Sistemistica
- Coding
- menu e sottomenu visibili nella stessa pagina
-
menu e sottomenu visibili nella stessa pagina
Ciao ragazzi. Sto facendo un sito in php dopo che qualcuno di voi mi ha fatto conoscere l'include, data la comodità insita dell'include neò dover aggiungere un link nuovo non tutte le pagine, ma solo nel relativo file.inc.
Ora ho quewst'altra esigenza. Faccio direttamente l'esempio perchè è più facile a vedersi. Ho la seguente paginaRISTORANTI ITALIANI
tutti i migliori ristoranti nelle città e regioni italiane
ristoranti in lombardia
ristoranti in basilicata
ristoranti in piemonte
ristoranti in toscana
risatoranti in puglia
....e così viaE' un menù importato con l'include.
Ora voglio far si che cliccando su una regione, **nella stessa pagina in cui mi trovo **, cambi solo lo stato del menu, e compaiano le rispettive città: esempio se clicco su basilicata voglio succeda questo
ristoranti in lombardia
ristoranti in basilicata
--------------ristoranti a matera
--------------ristoranti a potenza
ristoranti in piemonte
ristoranti in toscana
risatoranti in pugliaCome faccio?
-
<?
if ($_SERVER['PHP_SELF']=='nomepaginasezione1.php')
stampa sottomenu sezione 1if ($_SERVER['PHP_SELF']=='nomepaginasezione2.php')
stampa sottomenu sezione 2poi, puoi articolarlo considerando anche le sotto pagine.
il metodo migliore a mio avviso però è inserire la struttura in un database (o ricrearlo con un array in modo da avere dei dati legati in qualche modo.
ponendo di avere solo due livelli di menu:
menu[0]=array('','primo');
menu[1]=array('','secondo');
menu[2]=array('','terzo');menu[3]=array('primo','primo sottomenu');
menu[4]=array('primo','secondo sottomenu');
menu[5]=array('primo','terzo sottomenu');e via dicendo.
questa soluzione però NON MI PIACE PER NIENTE perchè dovresti fare un continuo confronto di stringhe (operazione lenta!).
evolvendo il ragionamento puoi usare un array a 4 dimensioni e quindi inserire un indice numerico che identifica in modo univoco ogni voce di menu, a questo punto fatti una tabella in un db e risolvi il problema
?>
-
grazie mille Tymba :D. Gentilissimo ed espertone
-
@Tymba said:
<?
if ($_SERVER['PHP_SELF']=='nomepaginasezione1.php')
stampa sottomenu sezione 1if ($_SERVER['PHP_SELF']=='nomepaginasezione2.php')
stampa sottomenu sezione 2Ok, sto provando ad applicare il tutto con invece dell'istruzione di stama, un menu esterno relativo:
include("menu.html");
Ho problemi con la condizione dell'if e molto probabilmente dell'url che metto sotto condizione! Sicuro che è quello il modo di farlo?
Ho provato anche a mettere i percorsi assoluti ma nisba.
Il problema tra l'altro di mettere 'nomepaginasezione2.php' semplicemente è anche questo: se 'nomepaginasezione2.php' si chiama index, come avviene per le index di sessione, non faccio un groviglio tra le condizioni?
Help :D!!!
-
Provato a mettere il menu in un file php e richiamarlo così:
<? include "menu.php"; ?>
-
@Il_Rappo said:
Provato a mettere il menu in un file php e richiamarlo così:
<? include "menu.php"; ?>
si certo :), questa è una parte però :)! Bisogna ora impostare la condizione che tale menu deve essere visibile solo in alcune pagine (per essere dinamico
Qualcuno sa come fare :)?