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

[gelöst] View: Filtern nach Wert größer Feld 1 und kleiner Feld 2 (Between-Suche)

Eingetragen von montviso (2188)
am 17.01.2014 - 13:16 Uhr in
  • Views
  • Drupal 7.x oder neuer

Es gibt ein Modul "Views between dates filter".

Eine ähnliche Funktion brauche ich für folgenden Anwendungsfall:

Der Inhalstyp Pflanze hat zwei Felder
Feld 1: Höhe von
Feld 2: Höhe bis

Der Benutzer bekommt einen Exposed Filter Namens Höhe und gibt einen Wert ein.

Der View-Filter soll nun die Datensätze liefern, wo der Wert größer/gleich Feld 1 und kleiner/gleich Feld 2 ist.
Gibt es dafür ein Modul oder gar eine Möglichkeit, das mit der Core-View zu machen?

Ich habe schon eine Idee, wie ich das per eigenem Modul lösen könnte, aber vorher wüßte ich gerne, ob ich eine einfache Lösung übersehen habe?

‹ Contextual Filter mit php code [gelöst] View: Filtern nach Wert größer Feld 1 und kleiner Feld 2 (Between-Suche) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

FIlter mit 2 Werten als Bereichssuche

Eingetragen von Renardo (60)
am 17.01.2014 - 15:14 Uhr

Wo liegt das Problem, einen Filter einzurichten, der genau diese beiden Bedingungen abfragt. Der erste Filter >=1 wird vorgegeben und den zweiten schaltest Du dann auf exposed für die Benutzer.

Renardo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo montviso, hast du schon

Eingetragen von Jenna (1883)
am 17.01.2014 - 15:24 Uhr

Hallo montviso,

hast du schon viel Inhalt auf der Seite? Falls nicht würde ich die Werte aus einem Field ziehen, entweder als Ganzzahl (Abfrage in Views dann mit gruppierten Filtern möglich) oder gleich als Select Feld von bis eintragen.

Eventuell hilft dir dieses Modul oder dieser Thread weiter (ungetestet):
https://drupal.org/project/views_fields_combine
https://groups.drupal.org/node/284538

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Renardo, ich stehe wohl

Eingetragen von montviso (2188)
am 17.01.2014 - 15:33 Uhr

Hallo Renardo,
ich stehe wohl wirklich auf dem Schlauch.
Wie kann ich es machen, daß der erste (also für den User nicht sichtbare) Filter den gleichen Wert hat, wie der, der exposed ist?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Filtern nach Wert größer Feld 1 und kleiner Feld 2

Eingetragen von Renardo (60)
am 17.01.2014 - 16:26 Uhr

Irgendetwas ist mir an Deinem Problem nicht klar. Der zweite Filter, der ja exposed sein soll, ermöglicht dem Nutzer selbstverständlich die Eingabe eines beliebigen Wertes.

Renardo

  • Anmelden oder Registrieren um Kommentare zu schreiben

In den Einstellungen zu

Eingetragen von Tobias Bähr (4019)
am 17.01.2014 - 17:09 Uhr

In den Einstellungen zu deinem Exposed Filter veränderst du den Filter identifier(versteckt sich hinter more) so, das er identisch ist, wie der der nicht exposed ist. Wenn du nicht genau weißt, wie du ihn benennen musst, stellst du beide Filter auf exposed und trägst bei beiden das selbe ein. Beispiel height.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Renardo, mit ist schon klar,

Eingetragen von montviso (2188)
am 18.01.2014 - 20:28 Uhr

@Renardo, mit ist schon klar, daß der User im Exposed Feld einen beliebigen Wert eingeben kann.
Angenommen, er gibt hier den Wert ein, der dann >= sein soll zu Feld 1 (Höhe von).

Wie bekomme ich den gleichen dynamischen Wert des Users in den zweiten Filter (nicht exposed), der den Wert dann auf <= Feld 2 (Höhe bis) abgleicht?

@Tobias, ich habe das eben versucht mit zwei exposed Feldern mit gleichem Namen in der Hoffnung, daß die View daraus eine Abfrage in dieser Form "identifier-value >= 'Feld 1' AND identifier-value <= Feld 2 generiert.
Da kommt eine Meldung: "This identifier is used by another handler", was ja auch irgendwie verständlich ist.

@jenna
Das Modul für combined Fields habe ich für andere Zwecke bereits im Einsatz:
Das bringt für meine Zwecke allerdings nichts, weil ich die kombinierte Suche auf die beiden Felder nur mit gleichem Operator durchführen kann. Ich brauche aber einmal <= und einmal >= .
Oder ich habe eine Möglichkeit übersehen.

Das Modul Views PHP verwende ich bereits für verschiedene Felder und ich vergesse immer wieder, daß man es auch für Filter einsetzen kann.
Ich habe mir diese Beispiele angesehen: https://drupal.org/node/763980
Was mir nicht klar ist: Wie man den Wert aus dem Exposed Filter im Code ansprechen kann, um den Select zu bauen, der die Node-ID's ermittelt.

Ich überlege, ob ich beide Felder als exposed View anlegen und mit JQuery das eine auf unsichtbar setze und beim Absenden des Formulars den Wert aus dem sichtbaren auch in das unsichtbare Feld übertrage.
Wäre so einfach...aber eben auch unelegant.

  • Anmelden oder Registrieren um Kommentare zu schreiben

View Filter >=Feld1 und <= Feld2

Eingetragen von Renardo (60)
am 19.01.2014 - 09:03 Uhr

Versuch es doch mal mit dem Modul Computed Fields. Damit berechnest Du die Subtraktion Deiner beiden Felder und kannst dann dieses berechnete Feld für den Filter Deiner View verwenden.

Falls Du dieses Modul noch nicht kennst, beachte, dass der Wert eines berechneten Feldes immer erst nach der Speicherung eines Nodes in die Datenbank gelangt.

Renardo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, das Modul Computed

Eingetragen von montviso (2188)
am 19.01.2014 - 15:38 Uhr

Nein, das Modul Computed Fields habe ich noch nicht getestet.
Es wäre sicher kein Problem die genannte Berechnung (Substratktion der Felder) mit dem PHP Modul von Feeds Tampers beim Import der Pflanzen via CSV durchführen zu lassen.
Ich werde das mal im Hinterkopf behalten, möchte hier aber nicht noch ein Feld einbauen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe die Anforderung nun

Eingetragen von montviso (2188)
am 19.01.2014 - 15:39 Uhr

Ich habe die Anforderung nun via JQuery gelöst.

1. Schritt: In der View zwei Exposed Filter angelegt:
Filter 1: "Höhe von" mit Operator "is less than or equal"
Der Name für die Oberfläche lautet "Höhe in cm".

Filter 2 "Höhe bis" mit Operator "is grater than or equal"

2. Schritt: Mit CSS das zweite Formularfeld auf display:none gesetzt.

3. Schritt:
In der bereits vorhandenen JS-Datei folgende Zeilen eingebaut:

jQuery(document).ready(function($){
   $('#id-des-formulars').submit(function(e) {      
      $('#id-des-ausgeblendeten-filters').val($('#id-des-eingeblendeten-filters').val());
   }); 
})

Ich setze den Thread auf gelöst.
Wenn jemand noch eine Idee hat, die noch nicht genannt war, dann interessiert mich das sicher.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, dann muss man die

Eingetragen von Tobias Bähr (4019)
am 20.01.2014 - 13:23 Uhr

Ok, dann muss man die validation umgehen, einfach bei Filter1 nach schauen, was drin steht, dann wieder "exposed" deaktivieren und bei Filter2 den Wert eintragen. Also bei mir ging das. ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tobias, Danke für den

Eingetragen von montviso (2188)
am 20.01.2014 - 14:05 Uhr

Tobias, Danke für den Tipp...ich bin ein großer Freund solcher Trick-17-Lösungen. ;-)

Nun bin ich ganz zufrieden mit meiner JQuery-Lösung.
Nachdem auf der Webseite sowieso JS eingeschaltet sein muß, ist das auch zu rechtfertigen.
Aber ein andermal bin ich sicher noch froh über die Lösung mit gleichem Identifier.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 16 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 13 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 28 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