Voici un petit aide mémoire (niveau avancé) pour la mise en place d'un filtre un peu poussé pour ses vues.

  1. le problème à résoudre

Dans les événements à venir de la vue "calendrier", je ne veux afficher que les événements publiés qui vérifient ces 2 propositions  :

  • ils se dérouleront dans les 7 jours à venir
  • ils ont débuté mais ils ne sont pas déjà terminés

 

  1. une réponse possible

Comme on le devine dans l'image ci-contre, les critères de filtrage sont :

  • A : le contenu est publié ("contenu : publié (oui)) ;
  • B : la date  de début de l'événement est située entre aujourd'hui et aujourd'hui en huit ( now < début < now +7 day)  ;
  • C : la date  de début de l'événement est antérieure à aujourd'hui (l'événement a débuté);
  • D : la date de fin de l'événement est est postérieure à aujourd'hui (l'événement n'est pas fini).

On observera que certains critères sont incompatibles, et que le critère "contenu publié" est utilisé 2 fois. Cela s'explique par l'impossibilité d'imbriquer les  parenthèses. L' écriture A et (B ou (C et D))  n'étant pas possible, nous devons utiliser une écriture de la forme (A et B) ou ( C et D). Malheureusement ces deux formes ne produisent pas le même résultat.

C'est pourquoi j'ai utilisé cette forme (A et B) ou (A et C et D) équivalente à A et (B ou (C et D)) .

cliquez sur l'image pour l'agrandir

Cliquez sur le lien "Et, Ou, Réarranger pour crée les 2 blocs de filtres (un bloc correspond à une paranthèse).

Compléter chacun des bloc pour obtenir ce qui affiché sur l'image ci-contre. Choisissez l'opérateur OU pour lier vos blocs.

Notez qu'à l'intérieur de chaque bloc, je ne peux utiliser qu'un seul opérateur. La recherche de la bonne formule peut donc devenir vite un casse-tête.