Vai al contenuto principale

PHP: evidenziare la pagina corrente in modo dinamico - help

#1
Ho trovato questa guida:
https://www.paitadesign.com/blog/php-e-c...vigazione/

Solo che ho un problema!

Il codice indicato
Codice:
[== php ==] <?php $menu=file_get_contents("inc/main_nav.php"); $base=basename($_SERVER['PHP_SELF']); $menu=preg_replace("|<li><a href=\"".$base."\">(.*)</a></li>|U", "<li class=\"current\">$1</li>", $menu); echo $menu; ?>

Fa "stampare" un codice html:
Codice:
[== html ==] <li class="current">

Ma nel mio caso ho bisogno che si crei una "stringa" come questa:
Codice:
[== html ==] <li><a href="index.php" class="current">Home Page</a></li>

è fattibile?
Molina Gianluca - Fondatore WebePc
realizzazione siti web ed assistenza WordPress - WebePc
Cita messaggio
#2
Il codice in sostanza non stampa ciò che dovrebbe? Dà un qualche errore? Puoi postare la pagina intera che è più semplice piuttosto che testare?

Dato un'occhiata così?

J Winking
Oscon: il facsimile di contratto e prestazione occasionale! Smiling
Cita messaggio
#6
Via messaggio privato riesci ad inviarlo? Se no manda pure all'email info@nome di questo sito.it . Di spulciare i log per vedere cosa interpreta come attacco ho pochissima voglia Big Grin

J
Oscon: il facsimile di contratto e prestazione occasionale! Smiling
Cita messaggio
#9
avevo letto un po' veloce, guardando solo il codice direi un semplice

Codice:
[== php ==] <?php $menu=file_get_contents("inc/main_nav.php"); $base=basename($_SERVER['PHP_SELF']); $menu=preg_replace("|<li><a href=\"".$base."\">(.*)</a></li>|U", "<li><a href=\"index.php\" class=\"current\">$1</li>", $menu); echo $menu; ?>

ma si potrebbe anche smagrire e mi cospargo il capo di cenere per la vergognosa lentezza Big Grin

novità?
J Winking
Oscon: il facsimile di contratto e prestazione occasionale! Smiling
Cita messaggio
#11
pensavo che frattanto avessi magari trovato qualche altra soluzione.. Winking

J
Oscon: il facsimile di contratto e prestazione occasionale! Smiling
Cita messaggio
#12
Ciao Jack, scusa il ritardo

Ho provato il tuo codice:

Se si va sulla "index" effettivamente pare funzionare però il mneù si "scompone"
https://img39.imageshack.us/img39/9750/errphp.jpg

Il codice "stampato" è corretto:
Codice:
[== html ==] <div id="templatemo_menu"> <ul> <li><a href="index.php" class="current">Home</li> <li><a href="chi_siamo.php">Chi Siamo</a></li> <li><a href="https://www.negoziacquari.it/mercatino/">Mercatino</a></li> <li><a href="segnalazione.php">Segnala Negozio</a></li> <li><a href="contatti.php">Contatti</a></li> </ul> </div>

Però come vedi non funge...
Inoltre funziona SOLO per la index perchè se vado su, ad esempio, il "chi siamo" il menù appare correttamente ma non come "attivo" Sad

Idee?
Molina Gianluca - Fondatore WebePc
realizzazione siti web ed assistenza WordPress - WebePc
Cita messaggio
#13
Io di solito faccio così se si tratta di poche pagine...

All'inizio pagina, definisco la variabile $pagina:
Codice:
<?php $pagina=$_GET['pagina']; ?>

Poi nel menu:
Codice:
<?php if ($pagina==NULL) { echo "<li class="active">Home<(li>"; } elseif ($pagina=='nomepagina') { echo "<li class="active">Nomepagina<(li>"; } [...] ?>
Cita messaggio