Découvrir DokuWiki
Options avancées
Pour les entreprises
Notre Communautée
Suivez-nous sur Facebook, Twitter et les autres résaux sociaux.
Découvrir DokuWiki
Options avancées
Pour les entreprises
Notre Communautée
Suivez-nous sur Facebook, Twitter et les autres résaux sociaux.
Les filtres servent à filtrer les agrégations.
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
).
Pour le filtrage, plusieurs comparateurs sont possibles:
Comparateur | Signification |
---|---|
= | Correspondance exacte |
!= ou <> | 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” Pour recherche la correspondance d'une valeur nulle, utilisez l'expression : =* ^(?![\s\S]) |
IN | Fait la correspondance de n'importe quel élément d'une liste. La liste est limitée par des parenthèses et contient des éléments séparés par des virgules. Chaque élément peut être une chaîne de caractères (limitée par des guillemets simples ou doubles) ou un nombre. Exemple de syntaxe: somefield IN (“a”, 'b', 123, 12.1) |
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 ---- schema : projects A cols : %pageid%, product, budget, team filter : team = $USER$ ----
Espace réservé | Description |
---|---|
$USER$ | Utilisateur actuellement connecté |
$USER.name$ | Nom réel de l'utilisateur actuellement connecté |
$USER.email$ | Courriel de l'utilisateur actuellement connecté |
$USER.grps$ | Groupe de l'utilisateur actuellement connecté. Utile avec l'extension structgroup |
$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é. |
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 ---- schema : 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