SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 126 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]

0 vote

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) Dépublie

    13 janvier 2014 – 96 commentaires

    Dépublie des articles à une date prédéfinie, soit automatiquement avec une durée établie au moment du changement de statut en publication, soit manuellement. En préambule il est nécessaire de se souvenir que personne n’apprécie se retrouver sur une (...)

  • (fr) Escal-V3 et Escal-V4

    16 février 2012 – 307 commentaires

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé. Présentation A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes les (...)

  • (fr) Plugin Modèles media

    25 avril 2011 – 183 commentaires

    Les modèles , et produisent chacun un résultat différent et ce résultat, pour les images, dépend du fait qu’elle soit dans le portfolio ou non. Ce plugin propose une nouvelle série de modèles ayant un comportement unifié et indépendant du mode des (...)

  • (fr) LESS pour SPIP : Less-CSS (anciennement LESSpip)

    5 novembre 2010 – 50 commentaires

    Less-CSS (Anciennement LESSpip) est un plugin intégrant facilement le logiciel LESS dans SPIP. LESS est une extension de CSS ajoutant les variables, les classes, les opérations, les imbrications au langage. Facilitant ainsi l’écriture de feuilles (...)

  • (fr) GIS 4

    11 août 2012 – 1446 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 (...)