Filtrage d'une vue par un champ de case à cocher


12

Mon site a un type de nœud appelé "Ressource". Ce type de noeud possède un champ appelé "Révisé"; ce champ est une seule case on-off:

Capture d'écran du formulaire Gérer les champs

J'ai créé une vue qui répertorie tous les nœuds de type nœud "Ressource". Je souhaite filtrer cette vue afin qu'elle affiche uniquement les nœuds dont la case "Révisé" est cochée. Cependant, lorsque j'essaie d'ajouter ce champ à ma vue, le message suivant s'affiche:

Capture d'écran de la création d'une vue

Je m'attendrais à ce que la case de sélection "Options" soit une case à cocher que je pourrais cocher ou laisser vide. Au lieu de cela, je reçois une boîte de sélection avec "Tout sélectionner". Que je sélectionne ceci ou non, un message d'erreur s'affiche alors indiquant qu'il n'y a "aucune valeur valide trouvée sur le filtre: contenu: révisé":

Message d'erreur "Aucune valeur valide trouvée"

J'ai essayé «d'exposer l'astuce de l'affichage principal» sur http://technology.blue-bag.com/top-tip-drupal-views-no-valid-values-found-filter , mais cela n'a pas fonctionné: il n'y a pas de filtre "inconnu" dans l'affichage principal, il ne semble donc pas y avoir de chose à corriger.

Une idée de la façon dont je peux atteindre le résultat que je recherche? Et quel est le problème avec l'étrange interface utilisateur avec la case de sélection plutôt qu'une case à cocher? Ce serait bien de savoir s'il y a une logique à cela; sinon, je publierai un problème dans la file d'attente de problèmes drupal.org appropriée.


Je m'attendrais à ce qu'un filtre pour un champ booléen ait 3 états: 1. Afficher uniquement les résultats avec "Oui", 2. Afficher uniquement les résultats avec "Non", 3. Afficher tous les résultats.
donquixote

Réponses:


11

c'est une sorte de bogue / incohérence de la façon dont le champ booléen est créé. si vous le laissez par défaut, sans aucune valeur 0/1, il ne les montrera pas dans des endroits comme ce filtre.
Mais: les valeurs sont là :) sous "Sélectionner tout" vous avez 2 lignes qui n'ont tout simplement pas de légendes. Lorsque vous en choisissez un, vous pouvez voir que le SQL de votre vue est modifié.
La solution de contournement consisterait à ajouter des légendes aux valeurs de la définition de champ.


Merci, @mojzis! J'ai également publié dans la file d'attente des problèmes de vues sur drupal.org/node/2027171 .
Jim

@Jim, désolé, j'aurais dû souligner que c'est plus un problème dans le domaine booléen, et apparemment il y a déjà quelqu'un qui y travaille :) drupal.org/node/1750950
mojzis

Ah merci! J'ai commenté le problème que j'ai publié dans la file d'attente des problèmes de vues pour le relier au problème principal de D8.
Jim

2

J'étais également confronté au même problème, l'étiquette du champ n'était pas affichée dans le filtre exposé de la vue.

Je suis ensuite allé aux paramètres de champ dans le type de contenu pour ce champ de case à cocher et mis à jour la valeur On en 1 et la valeur OFF en 0 .

Maintenant, l'étiquette apparaît dans le filtre exposé et fonctionne comme prévu.


1

Je rencontre le même problème et à la place, en utilisant Tout sélectionner, vous ne devez sélectionner aucune valeur. Si vous avez déjà sélectionné une valeur, utilisez Ctrl pour annuler votre sélection.

La source


1
Pouvez-vous développer un peu cela et expliquer pourquoi cela résout la question et pas seulement votre problème?
mpdonadio
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.