GlisWeb framework
Variabili
Riferimenti per il file _400.rewrite.php

estrazione della pagina corrente dall'URL Continua...

Vai al codice sorgente di questo file.

Variabili

 $parent = NULL
 
 $page = NULL
 
 $lingua = $cf['localization']['language']['ietf']
 
if(isset( $_REQUEST['p']) &&! empty(isset( $_REQUEST['p']))) if(empty( $_REQUEST['__pg__'])) else
 

Descrizione dettagliata

estrazione della pagina corrente dall'URL

introduzione

Il framework è in grado di individuare la pagina corrente richiesta dall'utente tramite HTTP interpretando l'URL corrente, come si è già accennato in _300.pages.php. Vediamo ora nel dettaglio questo meccanismo e vediamo come può essere esteso dai moduli per creare pagine "virtuali" corrispondenti ad esempio a criteri di ricerca.

meccanismo base

In questo file, fatti salvi alcuni casi limite, i vari componenti del percorso vengono prelevati dall'array $_REQUEST['rp'] e analizzati per capire se fanno parte dell'albero dei contenuti. Si ricordi che l'array $_REQUEST['rp'] può essere ottenuto dal parametro $_REQUEST['rw'] se la richiesta viene fatta tramite l'API _pages.php.

Per fare questo, la stringa prelevata dall'URL viene confrontata con l'indice delle pagine presente in $cf['contents']['index'] tenendo conto della lingua corrente; per gestire gli inevitabili casi di omonimia la ricerca nell'indice viene integrata con un controllo sul genitore, fatto tramite l'array $cf['contents']['pages']; se il controllo sul genitore è positivo, allora il frammento di URL è identificato e si passa al successivo, finché tutti non sono stati identificati o finché non se ne incontra uno che è impossibile identificare.

In questo modo l'ultimo frammento identificato è la pagina corrente, oppure se non è possibile completare l'identificazione la pagina corrente rimane "not found"; questo è molto importante in quanto se non è stato possibile identificare la pagina tramite il ciclo principale allora entrano in gioco i cicli specifici dei moduli, che possono tentare un'identificazione basata su criteri diversi (vedi più avanti).

casi limite, richiesta esplicita di una pagina e accesso implicito alla home page

estensione del meccanismo di analisi dell'URL

Da fare:
documentare

Definizione nel file _400.rewrite.php.