GlisWeb framework
|
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 |
estrazione della pagina corrente dall'URL
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.
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).
Definizione nel file _400.rewrite.php.