Views-Exposed-Form in mehrere Blöcke aufteilen

Bei einem Kundenprojekt standen wir vor dem Problem, dass einzelne Teile des exposed-Forms eines Views in verschiedenen Regionen der Seite angezeigt werden sollten. Zusätzlich dazu sollte beispielsweise das Feld für die Suchbox auf allen Seiten angezeigt werden, die weiteren Filter jedoch nur auf der Seite mit den Suchergebnissen. Normalerweise hätten wir das über hook_form_alter() und/oder ein zusätzliches, selbst erstelltes Formular in einem eigenen Block zu lösen versucht. Ein Tipp von Daniel Wehner (dawehner) brachte mich jedoch auf eine andere Idee:

Mehrere Views-Displays

Man kann bei Views einfach ein vorhandenes Display clonen, also eine direkte Kopie davon erstellen. In diesem Fall habe ich von dem entsprechenden Page-Display eine Kopie gemacht und dort nur die Einstellungen der Filter entsprechend angepasst.


Die anderen Einstellungen (insbesondere der Seitenpfad des Displays) wurden nicht verändert.

Schaut man jetzt in die Block-Verwaltung, so hat man für jedes der beiden Displays einen Block mit dem entsprechenden exposed-Form. Diese Blöcke kann man nun auf verschiedenen Seiten und in unterschiedlichen Regionen anzeigen.

Stefan Borchert
  • Geschäftsführung

Stefan ist Co-Geschäftsführer und zuständig für die Qualitätssicherung bei undpaul. Er beherrscht ver­schiedenste Programmiersprachen und hat ein Auge für das User Interface. Er ist Maintainer diverser Module, Mitarbeiter am Drupal Core und Mitglied der ersten Stunde der Drupal User Group Hannover. Acquia Certified Developer seit Juli 2014. Entgegen aller gängigen Vorurteile über Programmierer, zieht er Bewegung an der frischen Luft dem Sofa vor.