Aprendiendo SPIP [15]

[15] Criterios (I)

, por dani

Los criterios en SPIP son condiciones que se aplican a los bucles con objeto de ordenar, filtrar o limitar los resultados del bucle.

Se expresan entre llaves de la forma:

<BOUCLE_articulos(ARTICLES) {criterio}>

Orden de los resultados (criterios de clasificación)

Son de la forma {par criterio}
Ordena los resultados del bucle según criterio

Ejemplo: {par date} (ordena por fecha)

Podemos elegir un criterio por cada campo de la Base de Datos. En el artículo Todas las balizas propias de un sitio vimos todos los campos de la base de datos spip_articles, cada uno de los cuales daba lugar a una #BALIZA (observe que usamos mayúsculas para las balizas y minúsculas para los criterios). De la misma forma, cada campo da lugar a un criterio [1].

Por tanto, para un bucle ARTICLES podríamos elegir cualquiera de los 29 criterios. Como ejemplo:

{par titre} ordena por título
{par date} ordena por fecha
{par visites} ordena por número de visitas

Orden descendente
Podemos cambiar el orden normal (ascendente) por un orden descendente; para ello tenemos dos opciones:

- {par criterio}{inverse}
- {!par criterio}

Ejemplo:

<BOUCLE_articulos(ARTICLES) {par date}{inverse}>

ordenaría los artíclos por fecha en orden descendente (los más recientes primero)

Es recomendable usar la segunda opción. Veamos este caso:

<BOUCLE_articulos(ARTICLES) {par date}{inverse}{par titre}>

<BOUCLE_articulos(ARTICLES) {!par date}{par titre}>

Ambas opciones producen el mismo efecto, pero el primer caso puede confundirnos: el {inverse} ¿se aplica al criterio anterior, al siguiente o a todos? inverse se aplica al criterio inmediatamente anterior.
Si empleamos el segundo caso, queda más claro que lo que se invierte es la fecha

Varios criterios a un mismo bucle
Se puede emplear más de un criterio usando una de las dos opciones:

-  {par criterio1}{par criterio2}
-  {par criterio1, criterio2}

Ejemplo:
<BOUCLE_articulos(ARTICLES) {par visistes, titre}>
ordenaría por número de visitas y entre los que tengan las mismas visitas los ordena por título

Criterios especiales

{par hasard} ordena al azar

Aunque siempre ponemos como eljemplo el bucle ARTICLES, los demás bucles (RUBRIQUES, MOTS, BREVES, AUTEURS, FORUM, etc.) también se pueden ordenar. Sin embargo los criterios son distintos. No podemos ordenar un bucle RUBRIQUES por las visitas {par visites} puesto que la base de datos spip_rubriques no tiene el campo ’visites’. No obstante algunos criterios coincidirán: por ejemplo los campos ’date’ y ’titre’.

P.-S.

En el siguiente artículo veremos más criterios

Notas

[1para ampliar información sobre la base de datos puedes consultar el artículo La base de datos de SPIP de este mismo manual