Bucles y balizas

Todo lo que sigue concierne al lenguaje de descripción de la paginación de esqueletos con SPIP. Si entendiste la explicación precedente, ya sabes que trabajamos con los archivos «.html».

Esta documentación es voluntariamente técnica (se trata de un manual de referencia técnica); quizás prefieras empezar por la guía Crear mi primer esqueleto que es más didáctica y luego volver aquí para una documentación más detallada.

Los bucles

La noción de base del lenguaje de SPIP es el bucle (boucle, en francés).

-  La lógica del bucle

Clásicamente, una base de datos está compuesta por tablas que son listas de elementos: aquí, una lista de artículos, una lista de secciones, una lista de autores, etc. Para «construir» el sitio, extraeremos ciertos elementos de estas listas:
-  puede ser un solo elemento: por ejemplo colgar el contenido del artículo deseado;
-  pero también es frecuente extraer varios elementos de una lista: por ejemplo, en la página de una sección, queremos mostrar todos los artículos pertenecientes a esta sección y todas las sub-secciones;
-  y aún más sutil : es frecuente que no haya elementos satisfactorios en tal o tal lugar; SPIP debe poder manejar la ausencia de éstos. Por ejemplo, en el caso precedente ¿qué hacer si no hay sub-secciones en una sección dada?

Estas tres situaciones se tratan por la noción común de bucle, que permite a la vez tratar la aparición de un solo elemento, de varios elementos sucesivos, o la ausencia de elementos.

El sistema de bucles permite, en un código único:
-  indicar en que lugar del código HTML se necesita un tipo de elemento (en que lugar se quiere mostrar la lista de artículos, en qué lugar se quiere incluir la lista de sub-secciones...);
-  prever la presentación un elemento único;
-  indicar cómo se muestra una lista de varios elementos;
-  determinar lo que se muestra cuando no hay ningún elemento correspondiente.

Analogía con la programación en PHP/mySQL

Quienes ya han programado peticiones mySQL en PHP saben que el tratamiento se desarrolla en dos tiempos:
-  la construcción de la sintaxis de la petición (que consiste en decir «quiero recuperar la lista de los artículos contenidos en tal sección...»);
-  el análisis y presentación de los resultados a través de un bucle.

Estos son los dos sucesos que, en SPIP, se gestionan mediante los bucles.

Las balizas SPIP

Gracias a los bucles, hemos recuperado elementos únicos o listas de elementos: por ejemplo una lista de artículos o una lista de secciones...

Sin embargo, cada elemento de esas listas está compuesto por varios elementos precisos: por ejemplo un artículo se compone de un título, un antetítulo, un subtítulo, un texto de introducción (chapeau), un texto principal, un post-scriptum, etc. En SPIP también existen balizas específicas que permiten indicar con precisión en qué lugar se muestran los elementos: «situar el título aquí», «situar el texto aquí»...

Las balizas dentro de los bucles

Veamos, a través de un caso clásico, el principio de funcionamiento general de un bucle acompañado por sus balizas (atención, esto no es lenguaje SPIP, sino una descripción lógica):

BUCLE : mostrar la lista de los artículos de esta sección
  • mostrar aquí el título del artículo
  • mostrar el subtítulo
  • mostrar el texto
Fin del BUCLE

Este bucle, analizado por SPIP, puede dar tres resultados diferentes.

-  No hay ningún artículo en esta sección.

En este caso, evidentemente, no se usa ninguno de los elementos «mostrar aquí... (título, subtítulo...)». En cambio, si se ha previsto, se puede mostrar un mensaje de tipo «No hay artículos».

-  Sólo hay un artículo en esta sección.

En este caso, simplemente, la página HTML se construye según el modelo del bucle:

  • Título del artículo
  • Subtítulo
  • Texto del artículo

-  Hay varios artículos en esta sección.

La descripción de compaginación («mostrar aquí...») ahora se va a calcular sucesivamente para cada uno de los artículos. Sencillamente esto nos da:

  • Título del artículo 1
  • Subtítulo del artículo 1
  • Texto del artículo 1
  • Título del artículo 2
  • Subtítulo del artículo 2
  • Texto del artículo 2
    ...
  • Título del último artículo
  • Subtítulo del último artículo
  • Texto del último artículo

La continuación de esta guía de referencia se realizará de la siguiente manera:
-  sintaxis general de los bucles;
-  sintaxis general de las balizas de SPIP;
-  y, a continuación, una página específica para cada tipo de bucle, indicando qué balizas se pueden usar.

Autor o autora dani Publicado el: Actualizado: 26/10/12

Traducciones: عربي, català, Deutsch, English, Español, français, italiano, Nederlands, українська