samiel ha scritto:Ho trovato questo articolo che suggerisce una soluzione
leggermente diversa dal punto di vista tecnico:
http://www.alistapart.com/articles/keepingcurrent/Il mio codice risulterebbe allora così:
- Codice: Seleziona tutto
<ul>
<li <?php if ($thisPage=="index") echo " id=\"activelink_nb\""; ?>
<a href="index.php">Home</a></li>
<li <?php if ($thisPage=="chisiamo")echo " id=\"activelink_nb\""; ?>
<a href="chisiamo.php">Com'è nato</a></li>
<li <?php if ($thisPage=="comenato") echo " id=\"activelink_nb\""; ?>
<a href="comenato.php">Com'è nato</a></li>
<li <?php if ($thisPage=="copioni") echo " id=\"activelink_nb\""; ?>
<a href="copioni.php">Copioni</a></li>
</ul>
alcune cose
1) Intanto come ti ha detto ninobi usa le classi per queste cose.
2) Questo esempio comporta che in ogni pagina, prima dell'inserimento del menù dai un valore alla variabile $thisPage
Quindi avrai qualcosa come
- Codice: Seleziona tutto
<?php
$thisPage = 'copioni';
include 'menu.php'; //o come si chiama il file
?>
3) A LIST APART è uno dei siti di riferimento per tecniche di CSS e XHTML, ma con il PHP meglio lasciar perdere
se non hai variabili da "valorizzare" (scusate non mi veniva il termine esatto) quando fai echo usa l'apice e non le virgolette. Più chiaro e consuma meno risorse. Nel tuo caso non lo noti, ma quando hai migliaia di righe di codice...
quindi
- Codice: Seleziona tutto
echo ' id="activelink" '
4) il mio codice funziona senza metterlo in {} solo che all'interno di un codice php non devi richiamare <?php e quando fai quei costrutti devi stare attento, inizializza le variabili prima e dopo dai {$nome_variabile}
Per fare contento nuitari devi trattare la porzione di codice tra
- Codice: Seleziona tutto
echo <<<EOD
e
- Codice: Seleziona tutto
EOD;
come se fosse un template

Il mio esempio era messo in una porzione di codice html con un richiamo al php
Come ti ho detto le soluzioni sono molte, ed anche la scrittura della stessa soluzione ha molti modi di essere fatta
5) anche il codice di A list Apart è fatto in modo da essere messo in una porzione di codice html e non direttamente in un porzione di codice PHP, stai attento