SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 213 visiteurs en ce moment

Home > Documentazione > Il criterio doublons : la sua meccanica ed il suo utilizzo avanzato

Il criterio doublons : la sua meccanica ed il suo utilizzo avanzato

30 marzo 2008 – di mmmx

Tutte le versioni di questo articolo: [Español] [français] [italiano]

Il criterio {doublons} una volta scoperto diventa rapidamente indispensabile ai vostri modelli. Permette selezioni molto interessanti ma la sua utilità nonè immediatamente comprensibile a una prima lettura della documentazione di «spip.net».

Il criterio {doublons} una volta scoperto diventa rapidamente indispensabile ai vostri modelli [1]. Con un po’ di curiosità è possibile realizzare effetti e selezioni molto interessanti, ma che non sono evidenti dalla lettura della documentazione di base su Spip.net, da cui leggiamo:

Il criterio {doublons} o {unique} [2] : permette di inibire la visualizzazione dei risultati già pubblicati in altre circuiti che utilizzano questo criterio. Questi due criteri sono rigorosamente identici.

Identici ? Non completamente ! Nel corso delle versioni di SPIP, doublons s’est arricchito di ulteriori possibilità :
-  si possono assegnare nomi ai criteri doublons, e farne così coesistere molti in uno stesso codice,
-  doublons permette la realizzazine di piroette tecniche attraverso l’utilizza dell’anti-doublons: !doublons

Utilizzo di base : escludere elementi già trattati nella pagina

Un esempio ci è dato nel modello sommaire della dist [3]

Si tratta di elencare gli articoli del sito per ordine cronologico invertito E di riservare un trattamento particolare agli ultimi due articoli pubblicati. Come vedete, i circuiti «_ articles_recents» e «_ autres_articles» sono costruite nello stesso modo. Dunque, secondo logica, devono restituire lo stesso elenco d’articles.

E’ grazie al lavoro del criterio «doublons» che i 2 articoli più recenti, già trattati nel primo circuito, non si troveranno nell’elenco pubblicato col circuito «_ autres_articles».

Altro utilizzo corrente : escludere alcuni elementi

Un grande classico : escludere alcuni element che presentano una parola chiave.

Regolarmente sulla web-list spip-users si pone questo tipo di problema:

«Non riesco ad escludere elementi in funzione della loro parola chiave: ho provato»

ma non funziona"

E’ a causa del punto esclamativo !

L’utente qui desidera scegliere tutte le rubriche che non hanno la parola chiave «invisible». Ma, il messaggio mandato al database con {titre_mot != invisible}, è che deve scegliere tutte le rubriche che HANNO una parola chiave E che la suddetta parola chiave sia diversa da «invisible».

Questo cambia tutto. Infatti nel risultato apparirà ad esempio una rubrica alla quale è stata assegnata la parola chiave «bidule», che effettivamente risulta diversa da «invisible» (ok !), anche se la rubrica è legata anche alla parola chiave «invisible» (arg!) e, non appariranno rubriche a cui non è stata assegnata nessuna parola chiave ( l’opposto del risultato sperato !). [4]

La soluzione : inserire un circuito vuoto che sceglie secondo la parola chiave e un’altro circuito che cerca i risultati utilizzando il criterio
{doublons}.

Riprendendo il nostro esempio otteniamo:

Questo circuito sceglie tutte le rubriche che hanno la parola chiave «invisible» , ma non stampa nulla.

Questo secondo circuito sceglierà tutte le altre rubriche, grazie al criterio doublons ed applicherà loro il trattamento scelto.

Dare un nome ai doublons per utilizzarne molti nello stesso file

Obiettivo: gestire su una pagina d’accoglienza la pubblicazione di link ad articoli, e stringhe degli annunci(le brevi). La presentazione degli ultimi due articoli pubblicati e degli ultimi due annunci è diversa dagli altri.

Per esempio, ritroviamo lo stesso schema già visto con i circuiti della DIST. Si tratta semplicemente di fare coabitare senza conflitto alcuni circuiti molto simili. Dare un nome ai doublons eviterà che le selezioni dell’uno interferiscano con l’altro.

Generalmente, dare un nome ai doublons è una buona pratica per evitare ogni conflitto presente e futuro (i modelli evolvono). Inoltre il codice diventa più leggibile.

Nel quadro d’un utilizzo avanzato, potete provare l’utilizzo di segnaposti SPIP. Ad esempio :
{doublons #TITRE}
o anche
{doublons #_mabouboucle:TITRE}
o ancora
{doublons (#_mabouboucle:TITRE|supprimer_numero)}.

Utilizzo avanzato : anti-doublons o come costruire una pila di dati da trattare

Meccanica di anti-doublons

Nel seguito vari «doublons» permetteranno di raccogliere i risultati di piu circuiti che utilizzano differenti criteri; «!doublons» permette poi di applicare alla lista completa il trattamento richiesto.

Lo schema d’utilizzazione è il seguente:

Si sceglie una prima serie di articoli (senza stampare nulla)...

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

... quindi una seconda serie di articoli (senza stampare nulla)...

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

... si pubblica la lista completa secondo le proprie necessità utilizzando l’anti-doublons.

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

Un esempio d’anti-doublons

Obiettivo : fare un circuito che recupera gli articoli di tutte le rubriche a eccezione delle rubriche 2 e 3, E riguardo agli articoli della rubrica 4, soltanto quelli di meno di 60 giorni.

La soluzione : ci occorre un primo circuito che andrà a cercare tutti gli articoli escludendo quelli delle rubriche 2, 3 e 4...

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

... poi dobbiamo recuperare gli articoli di questa rubrica con un secondo circuito...

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

... e infine un’ultimo circuito pubblica con l’anti-doublons gli articoli scelti con criteri a piacere.

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

Note

[2Attenzione: non confondere il criterio «unique» col filtro «unique» di cui si possono trovare applicazioni qua e .

[3si tratta del modello di default di SPIP che si trova nella cartella /DIST. Richiamo : non dovete modificare questi file, ma sistemare i file dei vostri modelli nella cartella /squelettes da creare allo stesso livello di /DIST, cioè alla radice del sito.

[4questo punto è tratto da questa discussione (GrazieCédric)

Dernière modification de cette page le 4 aprile 2008

Retour en haut de la page

Rispondere all’articolo

Chi sei?

Per mostrare qui il tuo avatar, registralo prima su gravatar.com (gratis e indolore). Non dimenticare di fornire il tuo indirizzo email.

Inserisci qui il tuo commento Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Aggiungi un documento

Retour en haut de la page

Ça discute par ici

  • (fr) Formidable, le générateur de formulaires

    23 janvier 2012 – 2190 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • (fr) GIS 4

    11 août 2012 – 1384 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • (fr) Plugin Contacts & Organisations

    4 janvier 2010 – 267 commentaires

    Ce plugin ajoute à SPIP des fonctionnalités de gestionnaire de contacts. Distingue les personnes morales (organisations) des personnes physiques (contacts) en conservant tous les attributs des auteurs SPIP. En conjonction avec le plugin (...)

  • (fr) Acces Restreint 3.0

    11 décembre 2008 – 810 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 (...)

  • (fr) Crayons : Contrôleurs et Vues

    1er mai 2007 – 22 commentaires

    Cet article est en cours de rédaction (donc incomplet), merci si vous avez : des corrections, des compléments, des exemples (simples si possible), des captures d’écran ou videos de démo, une traduction à proposer, n’hésitez (...)