2010-11-17 3 views
1

J'ai une vue avec un filtre par pays. Pays est un champ de texte CCK facultatif avec sélection de liste déroulante dans une liste prédéfinie.Vues Drupal et filtres exposés - comment réinitialiser le filtre de liste déroulante optionnel, ou permettre la sélection «tout»

Lorsque j'expose le champ en tant que filtre de recherche de vue facultatif, je peux très bien sélectionner un pays sur le formulaire de filtre, mais comment puis-je gérer aucune sélection? Je souhaite que l'utilisateur puisse "désélectionner" toute valeur précédemment sélectionnée afin que la requête s'exécute dans tous les pays (ou, pour être plus précis, ne contraint pas les résultats par pays). Je ne peux pas ajouter "tout" comme valeur au champ CCK pour des raisons évidentes. La sélection de tous les pays dans la liste déroulante du filtre de recherche n'est pas très conviviale et provoque l'expiration de la page (il y a plus de 200 pays dans la liste, et je ne peux qu'imaginer la requête SQL résultante). Quel est le meilleur moyen de gérer cela?

J'ai trouvé ce View Filters Reset ce qui pourrait être utile. Le désir de mémoriser la dernière sélection ajoute une autre complication - lorsqu'elle est configurée dans les propriétés de View, et une fois le cookie (persistant) défini, il n'y a aucun moyen de se débarrasser de la sélection (à moins de supprimer manuellement le cookie).

Répondre

1

La réponse était de vérifier "Force Single" sur les propriétés du filtre. Ceci fait <any> apparaît comme une sélection dans la liste déroulante Filtre de pays. Cela a un sens, car <any> dans une liste à sélection multiple peut être considéré comme ambigu. Pourtant, je peux penser à des raisons valables pour lesquelles un filtre de sélection multiple pourrait être facultatif. Drupal me surprend tous les jours.

Questions connexes