Ciao,
ecco un semplice script in PHP che genera le cosiddette "briciole di pane" ovvero il breadcrumbs per un sito.
Premesse: per funzionare usa le sessioni,
Script da mettere in ogni pagina che si vuole monitorare per generare le breadcrumbs
Ovviamente la formattazione ognuno si fa la sua, magari usando i CSS, così com'è stampa una lista ordinata di link in verde, uno sotto l'altro, con un unico in rosso, quello della pagina su cui state la momento.
:byebye:
ecco un semplice script in PHP che genera le cosiddette "briciole di pane" ovvero il breadcrumbs per un sito.
Premesse: per funzionare usa le sessioni,
Script da mettere in ogni pagina che si vuole monitorare per generare le breadcrumbs
PHP:
<?php
session_start(); // Senza questo le sessioni non funzionano.
// Genera il nome del file in esecuzione ( la pagina che stiamo guardando )
$paginaCorrente = basename( filter_var( $_SERVER['PHP_SELF'], FILTER_SANITIZE_STRING ));
// Inserisco la pagina corrente nell'array di sessione
$_SESSION['breadcrumb'][] = $paginaCorrente;
?><!DOCTYPE html>
<html lang="it">
<head>
...........
</head>
<body>
.......
<?php
// Immagino che qui va il nostro menù a briciole di pane.
// Ovviamente il layout della pagina è affar vostro ;-)
$links = "<ol>\n";
// Elimino i dati ripetuti ( in una pagina si può entrare più volte, ma a noi interessa solo la prima volta che uno ci passa )
$_SESSION['breadcrumb'] = array_unique( $_SESSION['breadcrumb'] );
foreach ( $_SESSION['breadcrumb'] AS $url ) {
$text = ucwords( substr( $url, 0, -4 )); // Rendo in maiuscoletto la stringa, ovvero il nome della pagina, senza l'estenzione finale ( supposto che sia sempre un punto più tre lettere - da rivedere! )
if ( $url == $paginaCorrente ) { // Verifico se siamo sulla pagina, in questo caso la scrivo in un altro colore per marcarla
$link .= " <li><a href=\"$url\" style=\"color: red;\">$text</a></li>\n"; // Link Rosso
} else {
$link .= " <li><a href=\"$url\" style=\"color: green;\">$text</a></li>\n"; // Link Verde
}
}
// Stampo il risultato a video e chiudo la lista
echo "$link</ol>\n";
?>
.......
</body>
</html>
Ovviamente la formattazione ognuno si fa la sua, magari usando i CSS, così com'è stampa una lista ordinata di link in verde, uno sotto l'altro, con un unico in rosso, quello della pagina su cui state la momento.
:byebye: