Suche mit speziellen Filterkriterien
am 23.04.2013 - 10:28 Uhr in
Hallo zusammen,
für eine Multisite, die ich per Domain-Access-Modul über eine Drupal-Installation verwalte,
möchte ich gerne eine spezielle Suche integrieren, die es Benutzern / Gästen erlaubt,
anhand von festdefinierten Filterkriterien (Auswahl einer Firma und Auswahl eines Zeitraums)
die Suchergebnisse zu beeinflussen.
Zum besseren Verständnis hier erst einmal ein Screenshot davon:
Einen Pressebereich, in der aktuelle News veröffentlicht werden können, soll es in derselben
Art und Weise auf allen vier Webseiten geben. Das habe ich bereits über einen View realisiert,
der auf allen Seiten identisch angezeigt wird.
Für das Erstellen einer News habe ich dazu ein Feld Firma bzw. Projekt hinzugefügt, das intern
einfach eine key=>value Liste mit den Firmen darstellt.
Eigentlich habe ich zwei Fragen:
1) Wie, evtl. mit welchem Modul / mit welchen Modulen kann ich mir so eine Suche zusammenbauen?
2) Um für die Suchergebnisse eine Verknüpfung zu einer Firma X herstellen zu können, war das
Vorgehen mit einem Listenfeld für die Firma überhaupt sinnvoll? Ist eine andere Herangehensweise
besser geeignet oder hilfreicher?
Das Modul "Custom search" habe ich vorhin mal installiert, ich finde es auch nicht schlecht,
aber es lassen sich eben nur Inhaltstypen filtern. Wie ich aber nach Firmen oder nach einem
Zeitraum filtern kann, ist mir bislang unklar.
Eine andere Idee, dachte ich mir, für jede mögliche Suche, also:
Firma X, Zeitraum 2012
Firma X, Zeitraum 2013
Firma Y, Zeitraum 2012
Firma Y, Zeitraum 2013
einen eigenen View zu bauen, ihm jeweils einen URL zu verpassen und während der Suche
darauf zu verlinken. Aber so richtig wohl fühle ich mich bei dieser Lösungsidee auch nicht.
Hat irgendjemand eine bessere Idee für mich oder kann mir Denkanstöße geben, wie ich
meine Anforderung realisieren kann?
Ich bin für jegliche Hilfe sehr dankbar!
- Anmelden oder Registrieren um Kommentare zu schreiben
Es gibt doch in Views die
am 23.04.2013 - 13:19 Uhr
Es gibt doch in Views die "hervorgehobenen Filter". Damit stellst Du dem Benutzer Filter zur Verfügung, die er selber zur Laufzeit ändern kann.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
vor ca. einem Jahr habe ich
am 23.04.2013 - 13:31 Uhr
vor ca. einem Jahr habe ich schon mal ein Tutorial darüber gemacht wie man Newslisten sinnvoll (z.B. nach Monaten) filtern kann.
Das Modul der Wahl ist dazu natürlich Views mit exposed Filter.
Ich kann mich daran erinnern, dass es nicht ganz so einfach war, für einen Zeitraum eben die zwei Grenzen über einen exposed Filter bereitzustellen.
Man braucht ja für so einen Zeitraum-Filter immer den Beginn und das Ende des Zeitraums, also eine Lösung für die Fragestellung:
Zeige mir alle News aus dem März 2013.
Das beinhaltet ja:
Zeige mir alle News, bei denen das Datum größer also 29.02.2013 und kleiner als 01.04.2013 ist.
Außerdem möchte man ja den Filter auch so einrichten, dass nur Monate auswählbar sind, in denen es überhaupt News gibt.
Es bringt ja nichts, wenn man einen Monat auswählen kann, dann aber eine Seite kommt: In diesem Monat gab es keine News.
Aber wie gesagt, ich hatte mir für all diese Dinge eine Lösung überlegt.
Du kannst es dir ja mal anschauen.
Gruß
Berthold
Drupal Video-Tutorials
Vielen Dank Werner, den
am 23.04.2013 - 13:44 Uhr
Vielen Dank Werner,
den Filter für die Firmenauswahl konnte ich schnell hinzufügen. Noch mit css anpassen,
aber dann passt das schon. Views ist echt ein mächtiges Modul, gefällt mir!
Hallo Berthold,vielen Dank
am 24.04.2013 - 09:38 Uhr
Hallo Berthold,
vielen Dank für die Bereitstellung des Videos.
Ich bin das Video durchgegangen und konnte mir mit den im Video enthaltenen Tipps
meinen View so zusammenstellen, dass die Angabe des Zeitraums über eine Selectbox
gefiltert werden kann. Vielen vielen Dank dafür an dieser Stelle.
Bis dahin funktioniert alles, wie ich es mir gewünscht habe. Leider ist es für mich damit
jedoch noch nicht getan.
Als nächstes soll ein weiterer Filter bzw. ein Suchfeld eingebaut werden, womit nach
enthaltenen Wörtern im Titel und im Body gesucht werden kann.
Ich habe durch etwas Recherche von der Möglichkeit erfahren, dass sich in der aktuellen
Version von Views ein "Global: Combine fields"-Filter integrieren lässt, mit dem sich über
ein Textfeld bestimmte Fields absuchen lassen und so die Suchergebnisse beeinflussen.
Genau so etwas habe ich auch gesucht, dass ich nicht für den Titel und für den Body jeweils
einen eigenen exposed Filter hinzufügen und ihn ihm Frontend nacheinander ausfüllen muss.
Leider mache ich da etwas falsch oder verstehe es nicht ganz richtig. In einer kurzen Anleitung auf
http://www.sense-design.de/tutorial/drupal-7-views-exposed-filters-mit-s...
habe ich gesehen, dass bei der Zusammenstellung des Combine fields filter am Ende Felder
ausgewählt werden können - genau Titel und Body - wie ich es auch gerne hätte.
Leider erscheint diese Auswahl der Felder bei mir nicht und mir ist auch aufgefallen, dass ich
auf der Übersichtsseite des Views gar keine Felder hinzufügen kann.
Also kann mir vielleicht jemand noch sagen, was ich falsch bzw. was ich wie ändern muss.
Vielen Dank!
Gelöst
am 24.04.2013 - 13:57 Uhr
Ich konnte das Problem mittlerweile selbst lösen.
Und zwar war bei mir in der Übersicht des Views bei Format / Anzeigen "Inhalt" und nicht
"Felder" ausgewählt.
Nachdem ich dies umgestellt hatte, musste der View zwar selbstständig "nachgebaut" werden,
also alle benötigten Felder nacheinander hinzufügen und entsprechend anpassen, aber anschließend
konnte ich dann einen Combine fields filter hinzufügen, der in den Feldern Titel und Body nach dem
Suchbegriff sucht.
Also ich bin echt begeistert von Drupal und besonders von dem Modul Views. Es scheint, als wäre
damit alles möglich ;-)
Allerdings funktioniert der Weiter-Link nicht, obwohl ich vermeintlich alles richtig eingestellt habe.
Ich hoffe, das bekomme ich auch noch in den Griff!