SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribuciones sur SPIP-Zone, 221 visitantes en este momento

Portada del sitio > Documentation > El criterio doublons: su mecánica y su utilización avanzada

El criterio doublons: su mecánica y su utilización avanzada

7 de julio de 2008 – por Martin Gaitan

Todas las versiones de este artículo: [Español] [français] [italiano]

0 voto

El critério {doublons} una vez descubierto se convierte rápidamente en una herramienta indispensable para tus esqueletos. Permite una clasificación muy interesante, pero su uso no es evidente con la primera lectura de la documentación en «spip.net».

une fois découvert devient rapidement indispensable à vos squelettes. Il permet des tris très intéressants mais son emploi n’est pas immédiatement perceptible à la première lecture de la documentation de «spip.net».

El critério {doublons} una vez descubierto se convierte rápidamente en una herramienta indispensable para su esqueletos. [1]. Su función un poco curiosa, permite una clasificación muy interesante, pero no inmediatamente evidente al leer la documentación en spip.net que nos dice:

El critério {doublons} o {unique} [2] (estos dos criterios son rigurosamente idénticos) permite no mostrar resultados que ya aparecieron en otros bucles del mismo esqueleto que también utilizan este criterio.

Identicos? No del todo! Con las nuevas versiones de SPIP, doublons se ha enriquecido con características adicionales:
— ¿Puedes nombrar tu criterio doublons con lo que coexisten varias exlusiones independientes en un solo código,
— También permite piruetas spiperas con los anti-doublons!

Uso básico: no mostrar elementos que ya se encuentran en la página

Un ejemplo se nos da en el esqueleto sommaire del dist [3]

Esto lista los artículos del sitio en orden cronológico inverso, Y reserva a los dos últimos artículos publicados un trato especial. Como puede ver, los bucles «_articulos_recientes» y «_otros_articulos» se construyen de la misma manera. Por lógica, deberían devolver el mismo listado.

Gracias al trabajo del criterio «doublons» es que los 2 últimos artículos, ya cubiertos en el primer bucle, no terminan en la lista que se presenta con el bucle «_otros_articulos».

Otros uso frecuente: excluir elementos

Nuestro gran clásico: excluir en función de una palabra clave

Frecuentemente en las lista de spip los usuarios plantean este tipo de problemas:

"No puedo excluir elementos en función de su palabra clave.
Intento :

pero esto no funciona!"

Y por una buena razón!

Lo que el usuario quiere aquí es seleccionar todos los elementos que no han recibido la palabra clave «invisible». Pero el criterio {titre_mot != invisible} indica a la base de datos que debe seleccionar todos los elementos que tienen una palabra clave y diferente a «invisible».

Y eso lo cambia todo. Por ejemplo, se incluría en el resultado una sección a la que se le ha asignado la palabra clave «artilugio», tan diferente de «invisible» (ok!). Pero si si la sección no está asociada a ninguna palabra clave ¿Aparecerá en el resultado?

La solución : Utilizar un bucle vacío que selecciona de acuerdo con la palabra clave y otro bucle que devuelve los resultados a través del criterio {doublons}.

Siguiendo con nuestro ejemplo :

Este bucle seleccionara todas las secciones con la palabra clave «invisible» , pero no muestra nada.

El segundo bucle se selecciona con el criterio doublons todas las otras secciones y le aplica el tratamiento deseado.

Nombrar los doublons para usar más de uno en el mismo archivo

Objetivo: administrar en una página que muestra enlaces a artículos y comunicados de prensa. La presentación de los dos últimos artículos publicados y las dos últimos comunicados es diferente del resto.

Por ejemplo, aquí nos encontramos con el mismo patrón ya visto con bucles de la DIST. Se trata simplemente de que cohabiten sin conflictos bucles muy próximos. Nombrar los doublons evitará la interferencia entre una clasificación y otra.

En general, nombrar los doublons es una buena práctica para evitar no sólo problemas actuales sino también futuros (esqueletos que están cambiando). También es un elemento que aporta claridad a su código.

Dentro de un uso avanzado, puede tratar de usar etiquetas de SPIP. Por ejemplo : {doublons #TITRE} o bien {doublons #_mibuclesuperior:TITRE} o incluso {doublons (doublons #_mibuclesuperior:TITRE|supprimer_numero)}.

Uso avanzado: anti-doublons o cómo construir una pila de datos que deban tratarse

Mecánica del los anti-doublons

Aquí «doublosn» reunirá a los resultados de varios bucles utilizando diferentes criterios y «!doublons» para aplicar a esa pila de elementos el tratamiento deseado.

El patrón de uso es la siguiente:

Se selecciona una primera serie de artículos (que no muestra nada) ...

<BOUCLE0(ARTICLES){id_mot=2}{doublons A}></BOUCLE0>

... a continuación, una segunda serie de artículos (que tampoco muestra nada )....

<BOUCLE1(ARTICLES){id_auteur=1}{doublons A}></BOUCLE1>

... una vez hecha la pila de los elementos, se mostrarán todos juntos a través del ant-idoublons

<BOUCLE2(ARTICLES){par date}{!doublons A}>#TITRE<br></BOUCLE2>

Un ejemplo de anti-doublons

Objetivo :
hacer un bucle que recupera los artículos de todas las secciones excepto los de la sección 2 y 3, y en lo que respecta a los artículos de la sección 4, sólo los que tengan menos de 60 días.

La solución :
tenemos un primer bucle que recuperará todos los artículos excepto los de la sección 2 y 3, pero también excluyendo los de la sección 4 ...

<BOUCLE0(ARTICLES) {id_rubrique !IN 2,3,4}{doublons tri1}></BOUCLE0>

... a la que le dedicamos el segundo bucle ...

<BOUCLE1(ARTICLES) {id_rubrique=4}{age<60}{doublons tri1}></BOUCLE1>

... Y es en un bucle final que se visualiza a través del anti-doublons los artículos seleccionados.

<BOUCLE2(ARTICLES){par date}{!doublons tri1}>#TITRE<br></BOUCLE2>

Genial, ¿verdad?

P.-S.

Traducido por Martín Gaitán para la comunidad Spip en español.

Notas

[2Atención, no confundas el criterio «unique» y el filtro «unique»

[3Esto es el esqueleto de SPIP que por defecto se encuentran en la carpeta /dist. Recuerda: no debes tocar estos archivos sino guardar los tuyos en una carpeta /squelettes al mismo nivel que /dist, es decir, en la raíz del sitio.

Dernière modification de cette page le 7 de julio de 2008

Volver arriba

Comentar este artículo

¿Quién es usted?
  • [Conectarse]

Para mostrar su avatar con su mensaje, guárdelo en gravatar.com (gratuit et indolore) y no olvide indicar su dirección de correo electrónico aquí.

Añada aquí su comentario Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Añadir un documento

Volver arriba

Hablando de eso...

  • (fr) Adaptive Images

    15 novembre 2013 – 66 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • (fr) Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

  • (fr) Brownie

    6 juillet 2012 – 43 commentaires

    Brownie est une adaptation pour Zpip du thème du même nom initialement développé par Egrappler.com. Présentation Brownie est un thème Responsive à deux colonnes. La démonstration ci-dessous utilise la version 2.0.0 de Brownie, la dist de SPIP3 (...)

  • (fr) Métas +

    3 décembre – 13 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • (fr) Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

SPIPeando del otro...