Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Views - Ein Filterfeld soll zwei Felder filtern

Eingetragen von wogga (19)
am 03.05.2010 - 15:11 Uhr in
  • Views
  • Drupal 6.x

Hallo,
bin gerade dabei unser Firmen-Intranet mit Drupal neu aufzubauen.
Habe mir jetzt ein CCK-Formular gebastelt mit dem sich Telefonbucheinträge anlegen lassen.
Über einen View werden die Felder dann in Tabellenform ausgegeben.
Darüber habe ich ein paar exposed Filter (wie Name, Abteilung,...).
Jetzt haben bei uns allerdings viele Leute ein Festnetz und ein Funktelefon.
Ich möchte aber als Filtersuchfeld oben nur einmal ein Telefonsuchfeld haben.
Ist es möglich durch ein Telefonsuchfeld die Felder Festnetz und Funktelefon mit ODER Parameter zu durchsuchen?
Vielen Dank.

‹ Content Profile. 3 Inhaltstypen auf Tabs Register aufteilen ubercart - "nicht verfügbar" in uc_products view Übersicht anzeigen? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

versuche es damit views_or

Eingetragen von Tobias Bähr (4019)
am 03.05.2010 - 17:34 Uhr

versuche es damit [do:views_or]

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm, damit hab ichs schon

Eingetragen von wogga (19)
am 03.05.2010 - 19:06 Uhr

Hmm, damit hab ichs schon versucht.
Aber so wie ich das verstanden habe ist das nur dafür dass wenn ich oben zwei Filterfelder habe die auf die beiden entsprechenden View-Felder zeigen das diese beiden mit einer ODER Abfrage gefiltert werden. Aber ich möchte ja oben nur ein Filterfeld welches zwei Viewfelder abfrägt. Oder klappt das auch mit "Views Or" und ich habs nur nicht gepeilt? :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du solltest immer im Auge

Eingetragen von wla (9461)
am 04.05.2010 - 08:30 Uhr

Du solltest immer im Auge behalten, was Views macht: Du klickst Dir eine SQL-Abfrage zusammen. Die Filter stellen dabei den WHERE-Teil der Abfrage dar. Wenn Du zwei Felder überprüfen willst, müssen auch zwei Bedingungen in der WHERE-Clause gestellt werden. Daher glaube ich nicht, dass Du mit einem Filter für 2 Felder hinkommen wirst (außer mit einem Stück Code, das aus einem Filter 2 WHERE-Bedingungen baut, aber das ist dann ein für Deine Anwendung erstellter Spezialfall).

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da ist jetzt natürlich was

Eingetragen von wogga (19)
am 04.05.2010 - 09:47 Uhr

Da ist jetzt natürlich was wahres dran. Da hab ich mich wohl verrannt in diese Sache.
Wäre mein Vorhaben dann mit dem Modul "views php filter" möglich?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, damit kannste nur die

Eingetragen von Tobias Bähr (4019)
am 04.05.2010 - 09:58 Uhr

Nein, damit kannste nur die NIDs geben, die angezeigt werden sollen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kann mir dann jemand ne

Eingetragen von wogga (19)
am 04.05.2010 - 10:07 Uhr

Kann mir dann jemand ne Starthilfe geben mit was ich das auf die Reihe bekommen könnte?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe das selbst noch

Eingetragen von wla (9461)
am 04.05.2010 - 10:42 Uhr

Ich habe das selbst noch nicht gemacht, aber nach der Dokumentation kommen hook_views_query_alter oder hook_views_preexecute in Frage um die WHERE-Clause der Query zu ändern.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm, also so wirklich

Eingetragen von wogga (19)
am 04.05.2010 - 14:22 Uhr

Hmm, also so wirklich durchsteigen tuh ich mit diesen Hooks nicht.

Ich erstell mir eine Datei z.B. hook.views.inc

mit diesem Inhalt:
<?php
/**
* Stub hook documentation
*
* This hook should be placed in MODULENAME.views.inc and it will be auto-loaded.
* This must either be in the same directory as the .module file or in a subdirectory
* named 'includes'.
*
*/
function hook_views_query_alter(&$view, &$query) {
// example code here
//hier steht dann meine erweiterete Where Bedingung oder....
}

Wie wird diese Datei dann aufgerufen von meinem View?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hooks kommen entweder in ein

Eingetragen von wla (9461)
am 04.05.2010 - 15:19 Uhr

Hooks kommen entweder in ein eigenes Modul oder in die Template.php datei Deines Themes. "hook" wird dann durch den Named deines Moduls oder Deines Themes ersetzt (je nachdem, was Du verwendest), also z.B. garland_views_query_alter oder beispiel_views_query_alter, wenn Dein Modul "beispiel" heißt. Für ein eigenes Modul brauchst Du 2 Files beispiel.info und beispiel.modul die beide im Folder beispiel in sites/all/modules liegen sollten. Für Views legts Du dann noch beispiel.views.inc an, wenn Du über ein eigenes Modul gehst.
Der Hook bekommt alle Views geliefert und Du mußt dafür sorgen, daß Du nur den richtigen bearbeitest (kleine IF-Abfrage). Das ist eigentlich alles.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke schomal für die

Eingetragen von wogga (19)
am 05.05.2010 - 11:15 Uhr

Danke schomal für die Hilfe.

Habe mich für die template.php-Variante entschieden.

Wollte jetzt zu Testzwecken einfach mal meinen View welcher bisher so aussieht:
SELECT node.nid AS nid,
node_data_field_name.field_name_value AS node_data_field_name_field_name_value,
node.type AS node_type,
node.vid AS node_vid,
node_data_field_name.field_vorname_value AS node_data_field_name_field_vorname_value,
node_data_field_name.field_telefon_value AS node_data_field_name_field_telefon_value,
node_data_field_name.field_tel_station_nid AS node_data_field_name_field_tel_station_nid
FROM node node
LEFT JOIN content_type_telefon node_data_field_name ON node.vid = node_data_field_name.vid

mit der folgenden Funktion, welche ich in die template.php geschrieben habe, einschränken das Z.b. nur gelistet wird was als Telefonnr. die 3333 eingetragen hat.

function garland_views_query_alter(&$view, &$query) {
if ($view->name == 'Telefonliste'){
$query->??????????
}
}

Ich bekomme es einfach nicht hin hier die Where-Bedingung zu erstellen. :-( Wie müsste die aussehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das funktioniert, also die

Eingetragen von Tobias Bähr (4019)
am 05.05.2010 - 14:43 Uhr

Das funktioniert, also die Funktion wird aufgerufen? Eigentlich dürften hooks nur in Modulen funktionieren und nut theme-Hooks funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mittlerweile bin ich auch der

Eingetragen von wogga (19)
am 05.05.2010 - 14:55 Uhr

Mittlerweile bin ich auch der Meinung dass die Funktion überhaupt nicht aufgerufen wird. Das alle meine Versuche die Where-Bedingung zu formulieren ohne sichtbares Ergebnis blieben kann ich einfach auch nicht glauben. Also muss ich wohl doch den Weg über ein eigenes Modul gehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe nun mein function in ein

Eingetragen von wogga (19)
am 06.05.2010 - 07:49 Uhr

Habe nun mein function in ein eigenes Modul ausgelagert.
Erreiche aber immer noch kein sichtbares Ergebnis, sprich mein View wird immer noch komplett angezeigt obwohl ich eine feste where-Bedingung in die function gesetzt habe.
Wie kann ich testen ob mein Modul von meinem View überhaupt benutzt wird?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • wmtbpo361x
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
Weiter

Neue Kommentare

  • Rollen
    vor 5 Tagen 7 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 2 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 6 Tagen
  • Hey danke
    vor 10 Wochen 15 Stunden
  • Update: jetzt gibt's ein
    vor 10 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 3 Tagen
  • In der entsprechenden View
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250238
Registrierte User: 20467

Neue User:

  • LorisBen
  • StevenEness
  • ocvk2810

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 48 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association