Vues Drupal et filtres exposés - comment réinitialiser en option filtre de liste déroulante, ou permettre la sélection « tous »

StackOverflow https://stackoverflow.com/questions/4209300

Question

J'ai vue avec un filtre par pays. Pays est un champ de texte en option CCK avec sélection de la liste déroulante dans une liste prédéfinie.

Quand j'expose le champ comme un filtre de recherche de vue en option, je peux choisir un pays sur la forme de filtre très bien, mais comment puis-je gérer aucune sélection? Je veux que l'utilisateur puisse « non sélectionner » toute valeur précédemment sélectionnée afin que la requête est exécutée pour tous les pays (ou, pour être plus précis, ne limite pas les résultats par pays). Je ne peux pas ajouter « tout » en tant que valeur du champ CCK pour des raisons évidentes. La sélection de tous les pays dans le menu déroulant sur le filtre de recherche est pas très convivial et provoque la page en temps sur (il y a plus de 200 pays dans la liste, et je ne peux imaginer la requête SQL résultante). Quelle est la meilleure façon de gérer cette situation?

J'ai trouvé cette Voir Réinitialiser les filtres pirater ce qui pourrait être utile. Le désir de mémoriser la dernière sélection ajoute une autre complication - lorsqu'il est configuré dans les propriétés de la vue, et une fois le cookie (persistant) est réglé, il n'y a pas moyen de se débarrasser de la sélection (courte de supprimer manuellement le cookie)

Était-ce utile?

La solution

La réponse était de vérifier « Single Force » sur les propriétés du filtre. Cela fait <any> apparaissent comme une sélection dans le menu déroulant du filtre pays. Il sorte de logique, car <any> dans une liste de sélection multiple pourrait être considérée comme ambiguë. Pourtant, je peux penser à des raisons valables qui expliquent pourquoi un filtre de sélection multiple peut être en option. Drupal me surprend chaque jour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top