Creare un indice stile Google
Avete presente gli indici delle pagine in basso che si visualizzano quando scartabelliamo delle pagine che stiamo ricercando? Beh,ultimamente mi è capitato di dover implementare qualcosa di simile sul mio sito per facilitare la navigazione e poichè non facciamo le cose meccanicamente ma usiamo la zucca (noi programmatori intendo),dovevo creare uno script che mi creasse in automatico tale indice di navigazione. Ecco i passi per crearlo:
- creare le nostre pagine con il seguente modello: nomepageina+numero_progressivo. Es: page1,page2,page3,ecc.
- creare la seguente funzione:
function showPagesIndex($page,$num_pages) {
echo "<br><p align=\"center\">";
// pagina corrente
$active = str_replace(".php","",(str_replace($page, "",basename($_SERVER['PHP_SELF']))));
$i = $active - 3;
$f = $active + 4;
$c = $a = 0; //init
for($c=$i; $c<=$f && $c<=$num_pages; $c++) {
if($c > 0){
$a++;
$var = $c==$active ? "<strong>$c</strong> " : "<a href=\"$page$c.php\">$c</a> ";
if($a == 1 && $c != 1) $var="<a href=\"$page".($c-1).".php\"><<</a> ".$var;
echo $var;
if($c!=$f && $c<$num_pages)
echo "- ";
}
}
$c--; // invalida l'ultimo incremento del ciclo
if($c < $num_pages){
$c++; // la pagina successiva all'ultima
echo " <a href=\"$page$c.php\">>></a></p>";
}
}
- la funzione precedente prende come parametro il nome modello della nostra pagina e il numero totale di pagine.
- Siccome non vogliamo dover far modifiche in ogni pagina man mano che le cose evolvono inserendo di volta in volta il numero delle pagine totali,creaimo una funzione che ritorni il numero di pagine totali per la sezione di nostro interesse. Quindi ammettendo che stiamo parlano di PostgreSQL e che abbiamo creato dieci pagine del tipo pgsql1.php,pgsql2.php,ecc facciamo:
function getNumPagesSQL() {
Ed infine ecco come la usiamo nelle nostre pagine,basterà solo ricopiare questa stringa e quando dovremo fare modifiche,modificare per tutte le pagine solo le funzioni:
return 10;
}showPagesIndex("pgsql",getNumPagesSQL())
La funzione creata creerà indici del tipo "<<>>" dove i segni di maggiore e minore rimandano allaa pagina immediatamente successiva e precedente. Una demo è visionabile sul mio sito qui in fondo alla pagina. Scaricate le funzioni.
12:54
|
Categorie:
PHP
|
This entry was posted on 12:54
and is filed under
PHP
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
Iscriviti a:
Commenti sul post (Atom)
0 comments:
Posta un commento