Obiettivo
Immaginiamo che il sito contenga gli articoli con i seguenti titoli:
| titolo | id |
|---|---|
| a | 10 |
| b | 3 |
| c | 4 |
| m | 11 |
| z | 6 |
e che si voglia pubblicare 5 articoli in ordine alfabetico con l’articolo corrente al centro. Per esempio, se l’articolo corrente è “c”:
- a
- b
- c
- m
- z
Con un ciclo?
Si potrebbe fare un solo ciclo per pubblicare 5 articoli consecutivamente, ordinati per titolo:
Il problema è che non c’è modo per dire a SPIP che l’articolo corrente deve essere al centro di questa lista. Inoltre, non è possibile manipolare gli ID per fare questo tipo di selezione, poiché non c’è nessuna garanzia che gli articoli siano stati creati in ordine alfabetico.
Gli articoli prima e dopo
Si può infatti selezionare tutti gli articoli prima e dopo l’articolo corrente con la combinazione di cicli seguente:
Il problema è che se si limita il primo ciclo a selezionare 2 articoli con il criterio {0,2}, SPIP li ordina per titolo dalla Z alla A, oltre a selezionarne solo 2. Si avranno quindi i due articoli che ci interessano, ma ordinati al contrario. Riprendendo l’esempio precedente:
- b
- a
- c
- m
- z
Giocare con il criterio doublons
Ciò che resta da fare è di giocare con il criterio doublons per fare la cosa seguente:
selezionare i 2 articoli prima : BOUCLE_seleziona_prima,
escludere tutti gli altri articoli : BOUCLE_escludi,
pubblicare gli articoli prima selezionati nel giusto ordine : BOUCLE_pubblica_prima.
Avvertenze:
- utilizzando i criteri
{titre <= #_articolo_corrente:TITRE} {exclus}, ci si assicura che gli articoli aventi lo stesso titolo dell’articolo corrente saranno posizionati prima di esso,- questo ciclo è adatto solo se si vuole ordinare più di un articolo prima e dopo in ordine alfabetico. Se si vogliono fare delle cose più semplici, si veda “Article Précédent / Article Suivant”.

