|unique

  • Apparu en : SPIP 1.8

Het filter |unique geeft het resutaat van een baken waarop het wordt toegepast slechts éénmaal weer.
Het gaat dus om een baken binnen een lus.

Je kunt meerdere toepassingen van het filter aangeven door als argument een naam aan te geven.
Bijvoorbeeld: [(#ID_SECTEUR|unique{koptitel})] heeft geen invloed op: [(#ID_SECTEUR|unique{inhoud})].

Het filter kent ook een tweede optioneel argument: «1» om aan te geven hoe vaak het argument werd gefilterd.
Bijvoorbeeld: [(#ID_SECTEUR|unique{inhoud, 1})] toont het totaal aantal keren dat #ID_SECTEUR werd gefilterd door |unique{inhoud}.
Een efficiëntere manier van weergave is echter #TOTAL_UNIQUE{inhoud} [1].

-  Het filter |unique kan bijvoorbeeld worden toegepast bij de weergave van artikelen op datumvolgorde:

<BOUCLE_blog(ARTICLES) {par date} {inverse} {"<br>"}>
  [<hr><h1>(#DATE|affdate_mois_annee|unique)</h1>]
  #TITRE ...
</BOUCLE_blog>

De datum zal alleen bij een nieuwe maand worden aangegeven.

-  Ander voorbeeld:

<BOUCLE_blog2(ARTICLES) {par date} {inverse}>
  [<hr><h1>(#DATE|annee|unique)</h1>]
  [<h2>(#DATE|affdate{'Y-m'}|unique|nom_mois)</h2>]
  <a href="#URL_ARTICLE">#TITRE</a><br />
</BOUCLE_blog2>

resulteert in een lijst als:

2005
  maart
    artikel uit maart
    nog een artikel uit maart
  februari
    artikel uit februari
2004
  december
    een artikel

In dit laatste voorbeeld gebruiken we affdate{'Y-m'} om de naam van de maand bij iedere wijziging van het jaar weer te geven. Want:

  • hadden we [(#DATE|nom_mois|unique)] gebruikt, dan zouden de namen van de maand alleen voor het eerste jaar worden weergegeven;
  • hadden we [(#DATE|unique|nom_mois)] gebruikt, dan werden alle datums weergegeven, omdat #DATE ook een tijdstip bevat.
    Daarom passen we uitsluiten op de maand en het jaar het filter unique toe.

Voetnoot

[1Lees hier meer over op de pagina #TOTAL_UNIQUE.

Auteur Hanjo Gepubliceerd op: Aangepast: 28/06/23

Vertalingen: català, English, Español, français, Nederlands