Tot el que segueix fa referència altre cop al llenguatge de la descripció de la compaginació de les plantilles a l’SPIP ; si heu comprès bé l’explicació precedent, sabeu que treballem doncs en fitxers «.html»
Aquesta documentació és voluntàriament tècnica (es tracta aquí de referències tècniques); podeu triar començar per la guia SPIP pas a pas, més didàctica, i tornar després cap aquest apartat per una documentació més precisa.
Els bucles
La noció de base del llenguatge de l’SPIP és el bucle.
- La lògica del bucle
Una base de dades, generalment, és una llista d’elements: aquí, una llista d’articles, una llista de seccions, una llista d’autors, etc. Per «construir» el lloc, haurem d’extreure d’aquesta llista alguns dels seus elements:
- podem començar extraient només un element d’una llista; per exemple, mostrar l’article desitjat;
- però és freqüent extreure diversos elements d’una llista; per exemple, a la pàgina d’una secció, podem mostrar tots els articles que hi ha dins d’aquesta secció, així com totes les subseccions contingudes en aquesta secció;
- més subtil: passa freqüentment que no hi ha elements satisfactoris disponibles en un o altre indret; llavors l’SPIP ha de poder gestionar l’eventualitat de l’absència d’aquests elements; per exemple, la plantilla de mostrar les seccions demana que es mostrin totes les subseccions que hi hagi dins d’aquesta secció. Què fer si no hi ha subseccions en aquesta secció concreta?
Aquestes tres situacions són tractades pel concepte únic de bucle, que permet a la vegada gestionar que es mostri només un element, diversos elements o cap element.
El sistema de bucle permet, en un codi únic:
- indicar a quin indret del codi HTML necessitem d’un tipus d’element (en aquest indret es vol recuperar la llista dels articles, en un altre indret volem incloure la llista de subseccions,...);
- preveure que es mostri un únic element;
- indicar com es mostra una llista de diversos elements;
- determinar què és el que es mostra quan no hi ha cap element corresponent.
Analogia amb la programació en PHP/mySQL
Aquells que ja han programat sol·licituds mySQL en PHP saben que el tractament es desenvolupa en dos temps:
- la construcció de la sintaxi de la sol•licitud (que consisteix a dir «jo vull recuperar la llista dels articles continguts en tal secció...»);
- l’anàlisi i la visualització dels resultats a través d’un bucle.
Les dues coses són gestionades per l’SPIP, a través dels bucles.
Les etiquetes SPIP
Gràcies als bucles, s’han recuperat elements únics o llistes d’elements: per exemple una llista d’articles o una llista de seccions....
No obstant això, cada element d’aquestes llistes està format per diversos elements més precisos: per exemple un article es composa d’un títol, un avantítol, d’un subtítol, d’una introducció (capçalera), d’un text principal, d’un post scriptum, etc. Hi ha també diverses etiquetes específiques a l’SPIP, que permeten indicar de forma precisa a quin indret cal mostrar els elements: «posar el títol aquí», « situar el text aquí»...
Les etiquetes a l’interior dels bucles
Heus aquí, a través d’un cas clàssic, el principi de funcionament general d’un bucle acompanyat de les seves etiquetes (alerta, això no és pas llenguatge SPIP, és una descripció lògica):
BUCLE: mostrar la llista dels articles d’aquesta secció
- mostrar aquí el títol de l’article
- mostrar el subtítol
- mostrar el text
Fi del BUCLE
Aquest bucle, analitzat per l’SPIP, pot donar tres resultats diferents.
- No hi ha cap article en aquesta secció.
En aquest cas, és evident, no es farà servir cap dels elements «mostrar aquí... (títol, subtítol,...)». En canvi, si s’ha previst, es pot mostrar un missatge del tipus «No hi ha cap article».
- Només hi ha un únic article en aquesta secció.
En aquest cas, de forma molt simple, la pàgina HTML està construïda segons el model del bucle:
- Títol de l’article
- Subtítol de l’article
- Text de l’article
- Hi ha diversos articles en aquesta secció.
La descripció de la compaginació («situar aquí...») serà llavors calculada successivament per cadascun dels articles. Això dóna de manera molt simple:
- Títol de l’article 1
- Subtítol de l’article 1
- Text de l’article 1
- Títol de l’article 2
- Subtítol de l’article 2
- Text de l’article 2
- ...
- Títol del darrer article
- Subtítol del darrer article
- Text del darrer article
La continuació d’aquesta guia de referència es construirà de la manera següent:
- sintaxi general dels bucles;
- sintaxi general de les etiquetes;
- i, de seguida, una pàgina específica a cada tipus de bucle, indicant quines etiquetes s’hi poden utilitzar.