Un modello, molti articoli...

è a questo che serve!

Ecco qui il primo contesto.

La lezione precedente ci ha permesso di estrarre dei dati riguardanti l’articolo n°1 dal database e di farne una pagina Web. Rendiamo le cose più generiche...

Il nostro modello sarebbe piuttosto inutile se servisse a mostrare solo l’articolo n°1. Insegniamogli a visualizzare un articolo qualsiasi:

A tal fine chiamiamo la nostra pagina Web con un parametro, del tipo id_article=2: digitiamo sul browser l’URL seguente:
"http://miosito.net/spip.php?page=tutorial&id_article=2". [*]

Viene mostrato... ancora l’articolo 1 (e non il 2). Modifichiamo nel modello tutorial.html la linea che definisce il "ciclo articolo":
<BOUCLE_articolo(ARTICLES){id_article}>

Come potete vedere, si sostituisce semplicemente {id_article=1} con {id_article} e basta.

Ora: http://miosito.net/spip.php?page=tutorial&d_article=2 ci mostra l’articolo 2. [1]

Il ciclo BOUCLE_articolo viene eseguito in un "contesto" in cui id_article è uguale a 2 (cioè, il valore che viene passato all’URL). Se noi precisiamo {id_article=1} l’istruzione cerca l’articolo n° 1, ma se gli si chiede solo {id_article} va a cercare l’articolo il cui numero è indicato dal contesto (in questo caso l’URL).

Ora clicchiamo su:
-  http://miosito.net/spip.php?page=tutorial&id_article=1,
-  http://miosito.net/spip.php?page=tutorial&id_article=2 e
-  http://miosito.net/spip.php?page=tutorial. [*]

Si nota la differenza? Le prime due pagine ci danno gli articoli n°1 e 2, mentre la terza non ha un id_article nel suo contesto e genera quindi un errore.

Bene! Il nostro modello ora è "dipendente dal contesto".

Note

[*Ricordiamo che per le versioni precedenti a SPIP 1.9, l’URL per mostrare il nostro tutorial è: http://miosito.net/tutorial.php3. Quando gli si passa un parametro diventa: http://miosito.net/tutorial.php3?id_article=2

[1No? Come no! Avrebbe dovuto...

Autore Fausto Barbarito Publié le : Mis à jour : 26/10/12

Traductions : عربي, català, corsu, Deutsch, English, Español, فارسى, français, italiano, 日本語, Nederlands, polski, Português, русский, slovenčina, svenska, Türkçe, українська