Mein Setup: Drupal 7.2, Panels 7.x-3.0-alpha3, Ansichten 7.x-3.0-beta3, Chaos Tool Suite 7.x-1.0-beta1
Angenommen, ich möchte eine Obstverzeichnis-Website erstellen. In Ansichten habe ich einen Inhaltsbereich "Früchte" mit exponierten Filtern basierend auf Taxonomien "Farbe". Die Website soll zwei Panelseiten haben. Auf der ersten Bedienfeldseite wird nur das sichtbare Filterfeld "Suche nach einer Frucht" mit einem Dropdown-Menü für "Farbe" und einer Suchschaltfläche angezeigt. Nach Auswahl aus der Dropdown-Liste und Klicken auf die Suchschaltfläche soll der Benutzer zur zweiten Bedienfeldseite weitergeleitet werden, die den Inhaltsbereich der Ansicht enthält, in dem eine Liste der Früchte angezeigt wird, die dem Filter (der Farbe) entsprechen.
Das Problem ist: Das exponierte Filterfeld auf der ersten Seite wird nach dem Klicken auf die Schaltfläche Anwenden nicht zur Ergebnisseite umgeleitet. Wie richte ich Ansichten und Bedienfelder ein, um dies zu erreichen?
quelle
url('path_that_you_want')
.Ich bin nicht sicher, ob es einen "richtigen" Weg gibt, aber ich habe dies erreicht, indem ich einen hook_form_alter für das exponierte Filterformular geschrieben habe, um das Ziel zu ändern.
Nicht ideal, aber ich habe die Ergebnisse erzielt, die ich brauchte.
quelle
Die einfachste Lösung ist zu
quelle
Das obige Formular von Interlated hat mich auf halbem Weg mit dem freigelegten Filterblock dazu gebracht, die Ergebnisse auf einer neuen Seite zu öffnen und anzuzeigen.
Ich brauchte jedoch auch den Filterblock, um auf dieser Ergebnisseite zu sein. Also habe ich das Formular (exponierter Filterblock) über den Ansichtsbereich in der Kopfzeile angehängt. Dann stieß ich auf rekursives Verhalten, wenn beide Anzeigen in derselben Ansicht angezeigt wurden.
Um dies zu lösen, habe ich die beiden Anzeigen (Seite & Block) in ihre jeweiligen Ansichten unterteilt. Dabei wurde ein Block als exponierter Filter erstellt, der Felder für Ergebnisse enthielt, und dann eine völlig neue Ansicht für die Seite, auf der eine URL zu erreichen ist. Die Seitenansicht enthält ein Feld (Titel), das als Leerzeichen überschrieben wird (hauptsächlich, weil die Ergebnisse redundant, aber auch ungenau wären - ich fand, dass die Ergebnisse von Feldern im exponierten Filterblock genau angezeigt wurden). Ich habe die gleichen gefilterten Einstellungen zwischen beiden Displays beibehalten und besser belichtete Filter mit Ajax auf beiden Displays verwendet.
Ich habe das in D8 gemacht, aber wahrscheinlich würde es bei 7 gleich sein.
quelle