SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [sv] [tr] [vi] [zh] Espace de traduction

Download

I cicli ricorsivi

Dicembre 2004 — agg. : Luglio 2005

Tutte le versioni di questo articolo:


I cicli ricorsivi sono una funzionalità molto potente al fine di gestire l’impaginazione dell’interfaccia. La programmazione è particolarmente semplice, tuttavia l’utilizzo richiede una buona organizzazione logica della concatenazione dei cicli.

La chiamata a un ciclo ricorsivo è molto semplice: è sufficiente indicare nel TIPO del ciclo il nome di un altro ciclo:

<BOUCLEn(cicloX)></BOUCLEn>

In questo caso non si impiegano criteri: in realtà, il ciclo n corrisponde a una copia pura e semplice del ciclo X. L’insieme del ciclo funziona come se si fosse ricopiato tutto il ciclo X (tutti i segnaposti e il codice HTML, come pure i testi condizionali prima e dopo e il testo alternativo) nel posto dove si inserisce il ciclo n. (Beninteso, è necessario che il ciclo X preceda il ciclo n.)

L’uso più semplice è quello di "duplicare" un ciclo senza doverlo ricopiare. Inoltre, ogni modifica apportata al ciclo d’origine X sarà duplicata automaticamente nel ciclo n.

La sua utilità è, in realtà, di mettere il ciclo n all’interno del ciclo X: in tal modo si ottiene un comportamento ricorsivo: il ciclo X contiene un ciclo n, che a sua volta riproduce il ciclo X che contiene il ciclo n, e via dicendo, fino a quando il ciclo X non restituisce più alcun risultato.

In particolare, questa tecnica permette di creare la visualizzazione dei thread dei forum. Ciò è molto semplice: un primo ciclo "crea" il capofila dei thread (i messaggi che rispondono direttamente a un articolo), un secondo ciclo mostra le risposte a questi messaggi, e un ciclo ricorsivo provoca la ricorsività su questo secondo ciclo:

Con pochissime linee è quindi possibile visualizzare tutta la struttura (rubriche, sotto-rubriche...) del sito.


Visualizza il modello di questa pagina Sito realizzato con SPIP | Area traduttori | Area riservata