Un bucle de artículos se codifica poniendo ARTICLES
(con una «s») entre paréntesis:
<BOUCLEn(ARTICLES){criterios...}>
Los elementos contenidos en tal bucle son artículos.
Nota. Un bucle ARTICLES
sólo devuelve artículos publicados. (No hay ninguna manera de mostrar artículos «en curso de redacción», «propuestos a la publicación» o «rechazados».)
Los criterios de selección
- {branche}
selecciona el conjunto de los artículos de la sección Y de sus subsecciones. (Es una especie de extensión del criterio {id_secteur}
. No obstante, al contrario de {id_secteur=2}
, no es posible llamar directamente a una branche (rama) escribiendo por ejemplo {branche=2}
: técnicamente hablando, es necesario que la sección en cuestión esté presente en el contexto actual. Este criterio se debe usar con cuidado: Si el sitio web está bien estructurado, no debería ser necesario utilizarlo, salvo en casos muy excepcionales).
- El criterio {date}
(o {date=...}
o {date==...}
) permite seleccionar un artículo en función de la fecha pasada por la URL.
- {id_article}
selecciona el artículo cuyo identificador es id_article. Dado que el identificador de cada artículo es único, este criterio sólo devuelve cero o una respuesta.
- {id_auteur}
selecciona los artículos correspondientes al identificador de este autor (útil para mostrar la lista de artículos escritos por un autor).
- {id_groupe=zzzz}
(a partir de SPIP 1.4 ) permite seleccionar los artículos relacionados con un grupo de palabras clave; en principio es idéntico al {type_mot}
precedente, pero ya que se lo llama con un identificador (el número del grupo) la sintaxis será más «apropiada». [Nota: Este criterio no es (en el estado actual de desarrollo de SPIP) acumulable con el criterio anterior {type_mot=yyyy}
]
- {id_mot}
selecciona los artículos correspondientes a este identificador de palabra clave (es útil para mostrar la lista de los artículos que tratan de un tema determinado).
- {id_rubrique}
selecciona los artículos contenidos dentro de la sección cuyo identificador es id_rubrique.
- {id_secteur}
selecciona los artículos de este sector (un sector es una sección que no depende de ninguna otra sección, es decir, que está situada en la raíz del sitio).
- {lang}
selecciona los artículos en el idioma solicitado en la dirección de la página.
- {origine_traduction}
selecciona el artículo de referencia del cual el artículo en curso es una traducción.
Cuando un bucle devuelve docenas de artículos (o, una consulta, varios miles de artículos), es indeseable, si no imposible, mostrar todo en una sola página.
- {recherche}
selecciona los artículos que corresponden a las palabras indicadas en la interfaz de búsqueda (motor de búsqueda incorporado a SPIP). Ver la página dedicada al motor de búsquedas.
Le critère {si ...}
permet de conditionner l’exécution d’une boucle à la condition exprimée en argument dans le critère.
Le critère {si ...}
permet de conditionner l’exécution d’une boucle à la condition exprimée en argument dans le critère.
Exemple :
<BOUCLE_art(ARTICLES) {si #ID_RUBRIQUE|=={8}} {par date}>
<a href="#URL_ARTICLE">#TITRE</a>
</BOUCLE_art>
La boucle s’exécutera uniquement si, dans l’environnement d’exécution de la boucle, #ID_RUBRIQUE
est égal à "8".
La partie conditionnelle de la boucle, celle inscrite entre </B_art>
et <//B_art>
, sera quant à elle exécutée dans les deux cas où :
- soit #ID_RUBRIQUE n’existe pas dans l’environnement ou n’est pas égal à 8 (prise en compte du critère
{si ...}
; - soit #ID_RUBRIQUE est bien égal à 8 mais la boucle ne retourne aucun résultat.
Ce nouveau critère {si ...}
, disponible depuis SPIP 3.0, permet de s’affranchir enfin de l’impossibilité d’utiliser une boucle dans la partie conditionnelle d’une balise.
Par exemple, là où il était nécessaire d’écrire
[(#SESSION{statut}|=={1comite}|oui) <INCLURE{fond=mapage, ...}> ... ]
parce que mapage.html
contenait une boucle, il est désormais possible d’écrire directement dans le squelette appelant (sans INCLURE donc) :
<BOUCLE_xy(AUTEURS) {si #SESSION{statut}|=={1comite}}> ...
Bien sûr, le critère {si ...}
peut porter sur tout type de variables (#ENV, #GET,...)
Par exemple, une boucle dont l’exécution sera conditionnée par le résultat d’un calcul faisant intervenir une variable de l’environnement #ENV{var}
(récupérée depuis l’url) et une variable #GET{val}
(préalablement définie dans le squelette) :
#SET{val, 2}
<BOUCLE_a(ARTICLES) {si #ENV{var}|plus{#GET{val}}|=={5}}>
...
Voir aussi
- {titre_mot=xxxx}
, o {type_mot=yyyy}
selecciona respectivamente los artículos relacionados con la palabra clave cuyo nombre es «xxxx», o bien relacionados con palabras clave del grupo de palabras clave «yyyy». Si se proporcionan varios criterios {titre_mot=xxxx}
(o varios {type_mot=yyyy}
), se seleccionarán aquellos que tengan todas esas palabras a la vez.
- {tout}
: los artículos son seleccionados en la totalidad del sitio (en todas las secciones). Útil especialmente para mostrar los artículos más recientes (de todo el sitio) en la página de inicio. [En realidad, el criterio «tout» no se trata informáticamente: es un recordatorio para el webmaster; se obtiene el mismo resultado si no se indica ninguno de los criterios siguientes.]
El criterio {tout}
permite seleccionar los datos de una tabla como si ningún otro criterio restrictivo hubiera sido aplicado.
Su utilización sirve también de recordatorio para el webmaster, ya que se obtiene el mismo resultado si no se indica ningún criterio.
- {traduction}
selecciona las traducciones del artículo en curso en diferentes idiomas.
El estado del artículo
Como todos los bucles de SPIP, un bucle ARTICLES
sólo devuelve artículos publicados; en caso de que el sitio esté ajustado de forma que no se publiquen los artículos con «fecha de publicación posterior», se realiza otra comprobación con la fecha del artículo. Ahora se puede hacer gracias al criterio {statut}
:
- * {statut IN prop,prepa,publie,refuse,poubelle}
selecciona los artículos en función de su estado de publicación:
-
{statut=prepa}
son los artículos en proceso de redacción en el espacio privado; -
{statut=prop}
son los artículos propuestos para su publicación; -
{statut=publie}
son los artículos publicados en el sitio Web, incluyendo los que tienen «fecha de publicación posterior»; -
{statut=refuse}
son los artículos cuya publicación se ha rechazado, -
{statut=poubelle}
son los artículos que se han enviado a la papelera.
Los criterios de presentación
Una vez fijado uno de estos criterios, se podrán agregar los criterios siguientes para restringir el número de elementos seleccionados.
- Por supuesto, se aplican los criterios comunes a todos los bucles.
- {exclus}
(excluido) permite excluir del resultado el artículo en el cual ya nos encontramos (por ejemplo, cuando se muestran los artículos contenidos en la misma sección, no se quiere que aparezca un enlace hacia el artículo en el cual estamos ya).
Las balizas de este bucle
Las balizas extraídas de la base de datos
Las balizas siguientes corresponden a los elementos directamente extraídos de la base de datos. Puedes utilizarlos igualmente como criterio de clasificación
- #CHAPO
muestra el texto de introducción (epígrafe).
- Las balizas de fechas: #DATE, #DATE_REDAC, #DATE_MODIF
se explican en la documentación sobre « La gestión de las fechas ».
- #DESCRIPTIF
muestra la descripción.
- #ID_ARTICLE
muestra el identificador único del artículo. Útil para fabricar enlaces de hipertexto no previstos (por ejemplo, hacia una página “Mostrar en formato para impresión”).
- #ID_RUBRIQUE
muestra el identificador de la sección a la que pertenece el artículo.
- #ID_SECTEUR
muestra el identificador del sector del que depende el artículo (el sector es la sección situada en la raíz del sitio).
- #LANG
muestra el idioma de este artículo.
- #POPULARITE
muestra el porcentaje de popularidad de este artículo; ver la documentación «La popularidad de los artículos».
- #PS
muestra el post scríptum (la postdata) del artículo.
- #SOUSTITRE
muestra el subtítulo.
- #SURTITRE
muestra el antetítulo.
- #TEXTE
muestra el texto principal del artículo.
- #TITRE
muestra el título del artículo.
- #NOM_SITE
y #URL_SITE
muestran el nombre y la URL del «enlace hipertexto» del artículo (si se ha activado esta opción).
- #VISITES
muestra el número total de visitas recibidas por este artículo.
Las balizas calculadas por SPIP
Los elementos siguientes son calculados por SPIP. (No pueden ser utilizados como criterio de clasificación.)
- #URL_ARTICLE
es la URL de la página del artículo.
- #NOTES
las notas de fin de página (calculadas a partir del análisis del texto).
- #INTRODUCTION
: si el artículo contiene una descripción, esta se utiliza aquí; si no, SPIP muestra los 600 primeros caracteres del inicio del artículo (del epígrafe, y luego del texto).
- #LESAUTEURS
las autoras de este artículo. Evita tener que crear un bucle AUTEURS
para obtener el mismo resultado.
- #PETITION
el texto de la petición si existe. Si existe pero no tiene texto, devuelve un espacio (una cadena no vacía sin incidencia en una página HTML).
- #FORMULAIRE_SIGNATURE
crea la interfaz que permite firmar la petición asociada con este artículo.
- #FORMULAIRE_FORUM
fabrica la interfaz que permite colgar un mensaje de respuesta a este artículo. Para saber más, ver también «Los formularios».
- #PARAMETRES_FORUM
fabrica la lista de variables utilizadas por la interfaz del formulario que permite responder a este artículo. Por ejemplo:
[<a href="spip.php?page=forum&(#PARAMETRES_FORUM)">Responder a este artículo</a>]
También puede añadir un parámetro adicional para especificar la dirección de retorno después de enviar el mensaje.
[<a href="spip.php?page=forum&(#PARAMETRES_FORUM{#SELF})">Responder a este artículo</a>]
Los logos
- #LOGO_ARTICLE
el logo del artículo, eventualmente con la gestión del sobrevuelo por el ratón.
- #LOGO_RUBRIQUE
el logo de la sección del artículo.
- #LOGO_ARTICLE_RUBRIQUE
el logo del artículo, eventualmente reemplazado por el logo de la sección si no existe un logo específico del artículo.
Por otra parte, hay dos balizas que permiten recuperar uno solo de los dos logos :
- #LOGO_ARTICLE_NORMAL
es el logo principal;
- #LOGO_ARTICLE_SURVOL
es el segundo logo, que normalmente aparece cuando se lo «sobrevuela» con el ratón.
Ver también: Les balises #LOGO_XXX