Ma configuration: Drupal 7.2, panneaux 7.x-3.0-alpha3, vues 7.x-3.0-beta3, suite d'outils Chaos 7.x-1.0-beta1
Disons que je veux créer un site Web d'annuaire de fruits. Dans les vues, j'ai un volet de contenu "fruits" avec des filtres exposés basés sur les taxonomies "couleur". Le site Web est censé avoir deux pages de panneau. La première page du panneau affiche uniquement la zone de filtre exposée "rechercher un fruit" avec une liste déroulante pour "couleur" et un bouton de recherche. En choisissant dans la liste déroulante et en cliquant sur le bouton de recherche, l'utilisateur est censé être redirigé vers la deuxième page du panneau qui comprend le volet de contenu de la vue affichant une liste de fruits correspondant au filtre (couleur).
Le problème est: la zone de filtre exposée sur la première page ne sera pas redirigée vers la page de résultat après avoir cliqué sur le bouton Appliquer. Comment configurer des vues et des panneaux pour y parvenir?
la source
url('path_that_you_want')
.Je ne suis pas sûr qu'il y ait une "bonne" façon mais j'ai rendu cela possible en écrivant un hook_form_alter pour le formulaire de filtre exposé pour changer la destination.
Pas idéal, mais j'ai obtenu les résultats dont j'avais besoin.
la source
La solution la plus simple consiste à
la source
Le formel ci-dessus d'Interlated m'a mis à mi-chemin avec le bloc de filtre exposé travaillant pour ouvrir et afficher les résultats sur une nouvelle page.
Cependant, j'avais également besoin que le bloc de filtrage soit sur cette page de résultats. J'ai donc attaché le formulaire (bloc de filtre exposé) via la zone d'affichage dans l'en-tête. Ensuite, j'ai rencontré un comportement récursif lorsque les deux affichages dans la même vue.
Pour résoudre, j'ai séparé les deux affichages (page et bloc) en leurs propres vues respectives - créé un bloc comme filtre exposé qui comprenait des champs pour les résultats, puis une toute nouvelle vue pour que la page ait une URL à atteindre. L'affichage de la page a un champ (titre) qui est remplacé par un espace blanc (principalement parce que les résultats seraient redondants mais également inexacts - j'ai trouvé que les résultats étaient affichés avec précision à partir des champs du bloc de filtre exposé). J'ai conservé les mêmes paramètres filtrés entre les deux écrans et utilisé des filtres mieux exposés en utilisant ajax sur les deux écrans.
Je l'ai fait en D8 mais serait probablement le même le 7.
la source