Ritorniamo al file "rubrique.html". L’avevamo lasciato con un misero ciclo BOUCLE_articoli, inutile per il nostro sito poiché non ordinava gli articoli per categoria.
La vita è bella: abbiamo appena finito di programmare tale funzionalità per i nostri articoli!
È sufficiente copiare e incollare il blocco che ci interessa, inserirlo al posto del ciclo BOUCLE_articoli (che quindi scompare), e di vedere se è necessaria qualche modifica. Il risultato è il seguente:
Le modifiche effettuate sono:
- inutile cambiare la richiesta {id_rubrique}, poiché negli articoli ci basavamo già su questa rubrica;
- cancelliamo tutti i criteri {doublons}, perché in questa sede non sono utili (non ci sono articoli già mostrati); inoltre si evita il rischio di conflitti con gli sviluppi futuri della nostra pagina;
- il tutto viene inserito in un ciclo principale BOUCLE_gli_articoli. Cosa fa questo ciclo? Sinceramente parlando, nulla: esso rinvia la rubrica nella quale già ci troviamo. Ma ci sarà utile in seguito...
L’altro punto debole della nostra pagina era il ciclo BOUCLE_giochi, nel quale il ciclo BOUCLE_con_articoli approfittava del suo passaggio per mostrare l’elenco degli articoli della sotto-rubrica senza effettuare un ordinamento. Ora, ordinare gli articoli di una rubrica è quel che abbiamo appena fatto sopra.
Quindi, modifichiamo il ciclo BOUCLE_giochi nel modo seguente:
Adesso il ciclo BOUCLE_con_articoli è effettuato una sola volta (su di un solo articolo), e ciò è sufficiente per sapere se esso contiene un articolo. Vediamo apparire un ciclo BOUCLE_ricorsivo: si tratta di un ciclo che riproduce esattamente il comportamento del ciclo BOUCLE_gli_articoli, a partire dal luogo in cui si trova (cioè, che esso si avvia non più dalla rubrica principale, ma dalla sotto-rubrica). L’utilità di limitare il ciclo BOUCLE_con_articoli a un unico elemento è ora chiara: senza tale limite, il ciclo BOUCLE_ricorsivo sarebbe eseguito tante volte quanti sono gli articoli nella sotto-rubrica.
Ovviamente, il risultato grafico di questo esempio è ignobile: troppo carico e poco chiaro. Diciamo che sarebbe interessante utilizzare un "ciclo ricorsivo" in questo tutorial...
