Ich habe zwei Benutzerprofilfelder "Nachname" und "Vorname". Ich habe auch eine Benutzerliste. Ich möchte "Name" als Filter anzeigen, der sowohl nach Nachname als auch nach Vorname suchen kann. Wie kann ich einen einzelnen Filter für die Kombination dieser beiden Felder erstellen? Kann ich es über die Benutzeroberfläche von Ansichten erstellen?
Eine Möglichkeit ist, ein weiteres Profilfeld "Name" zu erstellen, das im Formular ausgeblendet wird. Beim Speichern durch den Benutzer würde ich die beiden Feldwerte in das Feld "Name" kombinieren und es dann als Filter in den Ansichten verfügbar machen. Diese Lösung ist jedoch hartcodiert und muss Hooks schreiben.
Antworten:
Ich habe schließlich eine Lösung daraus . Ich folgte der zweiten angebotenen Primärlösung, obwohl der Blogger sie persönlich verwendete
hook_views_query_alter()
.Dies gab mir eine schnelle Lösung ohne harte Codierung.
Hier ist eine andere hilfreiche Referenz.
quelle
In meiner Installation, D7 mit Views 7.x-3.6, können Sie einen Filter mit dem Namen "Global: Filter für Felder kombinieren" hinzufügen, der genau das tut, was Sie benötigen, und es Benutzern ermöglicht, mit einem einzigen Filter in mehreren Feldern zu suchen.
quelle
Es ist wirklich einfach.
Vielen Dank.
quelle
Funktioniert sofort
Der einfachste Weg ist die Verwendung des Filters "Suchbegriffe" , der die Kernfunktionalität von Views darstellt . Es durchsucht alle Felder der Entität und gibt das Ergebnis zurück, kein zusätzliches Modul erforderlich!
Das ist es, nichts anderes zu tun (vielleicht möchten Sie es aber aussetzen)
Es funktioniert auch sehr gut.
quelle
Sie können hook_views_pre_execute (& $ view) verwenden, um Ihre einzelne Bedingung auf mehrere gewünschte Felder auszudehnen
quelle