El filtre |unique
retorna el valor de l’etiqueta a la que s’aplica només si és la primera vegada que es troba.
Per tant, s’aplica a una etiqueta situada a l’interior d’un bucle.
És possible, per diferenciar diverses utilitzacions independents al si del bucle, passar un argument de nomenament a aquest filtre.
Per exemple : [(#ID_SECTEUR|unique{en_tete})]
no tindrà incidència en (no impedirà la visualització de): [(#ID_SECTEUR|unique{corps})]
.
El filtre accepta també un segon argument : «1» per visualitzar el número de vegades on l’etiqueta ha estat filtrada.
Per exemple : [(#ID_SECTEUR|unique{corps, 1})]
mostrarà el tota corresponent al número de vegades on #ID_SECTEUR haurà estat filtrat per |unique{corps}
.
No obstant preferirem, més que aquesta notació, l’ús (més econòmic) de l’etiqueta específica #TOTAL_UNIQUE{corps}
[1].
- El filtre |unique
pot ser interessant, per exemple, mostrar una llista d’articles per data:
<BOUCLE_blog(ARTICLES) {par date} {inverse} {"<br>"}>
[<hr><h1>(#DATE|affdate_mois_annee|unique)</h1>]
#TITRE ...
</BOUCLE_blog>
La data només es mostrarà quan es canviï el mes.
- Un altre exemple :
<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>
mostrarà una llista que s’assembli a:
2005
març
article de març
un altre article de març
febrer
article de febrer
2004
desembre
un article
En aquest darrer exemple, s’utilitza la notació affdate{'Y-m'}
per mostrar el nom del mes a cada canvi d’any. En efecte:
- si no es fes més que
[(#DATE|nom_mois|unique)]
, els noms dels mesos només es mostrarien el primer any; - si el filtratge hagués estat
[(#DATE|unique|nom_mois)]
, es mostrarien totes les dates. Efectivament,#DATE
retorna una date completa que conté també les hores, els minuts i els segons. Hi ha, per tant, una gran probabilitat que les dates completes de dos articles publicats el mateix dia siguin diferents.
Es el perquè només es guarda el mes i l’any de la data abans de passar-lo al filtre unique.