DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


Panneau latéral

Traductions de cette page?:

Découvrir DokuWiki

Options avancées

Pour les entreprises

Notre Communautée


Suivez-nous sur Facebook, Twitter et les autres résaux sociaux.

Notre politique de confidentialité

fr:plugin:struct:filters

Extension Struct

Extension Struct: Filtres

Les filtres servent à filtrer les agrégations.

Filtres fixes

Les filtres fixes sont ajoutés via les options filter and filteror. Ils attendent un nom de colonne, un comparateur et une valeur à comparer.

Exemple:

---- struct table ----
schema  : projects A
cols     : %pageid%, product, budget, team
filter   : product = Fantastico Basic
filteror : product = Fantastico Professional
----

Les noms de colonne peuvent bien sûr faire référence au nom de colonne complet (eg. projects.product) ou par le biais d'alias définis (eg. A.product).

Comparateurs

Pour le filtrage, plusieurs comparateurs sont possibles:

Comparateur Signification
= Correspondance exacte
!= or <> Ne correspond pas exactement
< Inférieur à
<= Inférieur ou égal à
> Supérieur à
>= Supérieur ou égal à
~ Correspondance d'un motif de caractères. Utilisez une * comme caractère générique de remplacement. Comme Apple* pour correspondre à Apple Pie et Apple Computer; e.g. dessert~ *Pie. Insensible à la Casse.
*~ Correspondance d'un motif. Rechercher les correspondances contenant le motif; e.g. dessert*~ Pi correspond à Apple Pie
!~ Correspondance négative. Sélectionnez tout ce qui ne correspond pas à l'expression
=* Recherche d'expression régulière. Exemple : ​keyword =* Hydraulic|Spindle​ filtrera les pages où le mot clé est “​Hydraulics”​ ou “​Spindle”

Espaces réservés de valeur

Lors de la définition de filtres fixes, il est parfois utile de comparer les valeurs semi-dynamiques. C'est là que les espaces réservés de valeur sont utiles. Vous utilisez simplement l'espace réservé au lieu d'une valeur lors de la création du filtre.

L'exemple suivant imprime tous les projets auxquels l'utilisateur actuel est membre de l'équipe:

---- struct table ----
schemas  : projects A
cols     : %pageid%, product, budget, team
filter   : team = $USER$
----
Espace réservé Description
$USER$ Utilisateur actuellement connecté
$TODAY$ Date d'aujourd'hui en format Y-m-d
$ID$ L'ID entier de page de la page (sur laquelle l'agrégation est définie)
$PAGE$ Nom de page de la page sans espaces de noms
$NS$ L'espace de noms de la page
$STRUCT.<schema>.<field>$ La structure de données enregistrée pour la page en cours dans le champ donné.

Filtres dynamiques

Les agrégations peuvent être filtrées «en direct» soit en ajoutant l'option dynfilters soit en passant les paramètres d'URL appropriés. L'exemple suivant ajoute des champs de saisie de filtre pour toutes les colonnes sélectionnées.

---- struct table ----
schemas    : projects A
cols       : %pageid%, product, budget, team
dynfilters : 1
----

Les filtres créés par cette méthode utilisent toujours le comparateur * ~ , eg. recherchez le motif n'importe où dans les données de la colonne.

Des filtres dynamiques peuvent également être ajoutés via le paramètre flt . Le paramètre est un type de tableau, avec le nom de colonne et le comparateur combinés dans la clé et la valeur de comparaison dans la partie valeur.

Exemple: ?flt[projects.budget>]=10000

fr/plugin/struct/filters.txt · Dernière modification: 2018-10-09 20:26 par Digitalin