Menù dinamico con diverse lingue e visualizzazione pagina corrente

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Salve a tutti, ho creato un meccanismo per creare un menù dinamico in base alla lingua utente ma ora ho il problema di impostare la pagina corrente la quale cambierà colore nella scritta per far capire all'utente dove siamo. Il problema è come fare? dato che uso un file php esterno che viene incluso nelle pagine. Un modo sarebbe, secondo me, mettere il codice del menu in php nella pagina stessa e in quel modo sarebbe facile no?
secondo voi?
grazie a tutti,...
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
Puoi prendere l'URL della pagina attuale e confrontarlo per ogni voce del menu, e quando trova che il link corrisponde aggiunge la classe "active".

Se una singola voce di menu può corrispondere a più pagine (esempio: /test/1 /test/2 etc) puoi rimuovere la parte che cambia lasciando solo la radice, ed effettuare il confronto scritto sopra.


PHP:
<a href="#" <? if($cur == $thisurl) echo "class = \"active\""; ?>>Menu</a>
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Puoi prendere l'URL della pagina attuale e confrontarlo per ogni voce del menu, e quando trova che il link corrisponde aggiunge la classe "active".

Se una singola voce di menu può corrispondere a più pagine (esempio: /test/1 /test/2 etc) puoi rimuovere la parte che cambia lasciando solo la radice, ed effettuare il confronto scritto sopra.


PHP:
<a href="#" <? if($cur == $thisurl) echo "class = \"active\""; ?>>Menu</a>
eccomi. Ho realizzato questo

PHP:
$testurl=$_SERVER['REQUEST_URI']; //Recupero url della pagina
	$arr = explode("/", $testurl);//Estraggo ogni parola separata da /
	$risultato = count($arr);//conto il totale di campi nell'array
	//echo "<br>".$risultato."<br>";
	//echo $arr[0] . "<br/>"; // Max
	//echo $arr[1] . "<br/>"; // Luca
	//echo $arr[2] . "<br/>"; // Claudio
	$pos = strpos($arr[2], ".php");//estraggo la posizione dove si trova .php
	//echo $pos;
	$restitu=substr($arr[2],0,$pos);//salvo il nome della pagina
in questo modo dovrei ottenere sempre il nome pulito della pagina. Non ho inserito un ciclo for perchè teoricamente la url dovrebbe essere sempre la stessa. al massimo utilizzo variabili get ma non influiscono essendo dopo il ".php",
che ne pensi?
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
pensandoci bene potresti semplicemente mettere in ogni pagina una variabile con l'id della stessa ed effettuare il test su quella ^^
in effetti in questo modo eviterei errori di estrazione delle stringhe. Dato che gli IF li ho già impostati basterebbe settare $restitu con il nome della pagina no?