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

[gelöst]Nur veröffentlichte Min/Max-Werte im Exposed Filter Slider

Eingetragen von ThuleNB (380)
am 03.11.2015 - 15:06 Uhr in
  • Views
  • Drupal 7.x oder neuer

Hallo Community,

ich habe eine Ansicht/View mit mehreren Slider-Filter (mit Modul Better Exposed Filter), die standardmäßig die Min-/Max-Werte bestimmter Felder enthalten.

Die Min-/Max-Werte ziehe ich mir durch diesen Code im template.php:

function newbusiness_better_exposed_filters_settings_alter(&$settings) {
    // MAX price
    $max_query = db_query('SELECT MAX(field_grundst_ckspreise_value) as max_preis FROM {field_data_field_grundst_ckspreise}');
    $record = $max_query->fetchAssoc();
    $max = floatval($record['max_preis']);
    $settings['field_grundst_ckspreise_value']['slider_options']['bef_slider_max'] = $max;

    // MIN price
    $min_query = db_query('SELECT MIN(field_grundst_ckspreise_value) as min_preis FROM {field_data_field_grundst_ckspreise}');
    $record = $max_query->fetchAssoc();
    $min= floatval($record['min_preis']);
    $settings['field_grundst_ckspreise_value']['slider_options']['bef_slider_min'] = $min;
}

Zu meiner Frage: Die Felder, aus denen die Min-/Max-Werte gezogen werden, sind Bestandteil des Nodetyps "Unternehmensprofil". Ein Nutzer kann sein Unternehmensprofil veröffentlichen, indem er alle Pflichtfelder befüllt. Sind nicht alle Pflichtfelder befüllt, ist das eigene Unternehmensprofil nicht veröffentlicht. In meiner oben dargestellten DB-Abfrage wird allerdings nicht unterschieden zwischen "veröffentlichter Node" und "nicht-veröffentlichter Node". Wie kann ich es schaffen, dass bei den Min-/Max-Werten im Slider immer nur Werte von veröffentlichten Nodes herangezogen werden? Felder (bzw. Werte) von nicht-veröffentlichten Nodes sollen ignoriert werden.

Mir fehlen hierzu leider die Programmierkenntnisse. Welcher zusätzliche Befehl müsste ich in meinen Code oben eingeben?

Danke und Grüße
Thomas

‹ [gelöst] Validation Fehler / Error in den Exposed form options [gelöst]Nur veröffentlichte Min/Max-Werte im Exposed Filter Slider ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, Du musst bei beiden

Eingetragen von Hyp1 (1463)
am 04.11.2015 - 10:21 Uhr

Hallo,

Du musst bei beiden Queries die node Tabelle joinen, um den node status zu bekommen.
Hier ein Beispiel(habs nicht getestet):

Zitat:

SELECT MIN(field_grundst_ckspreise_value) as min_preis FROM {field_data_field_grundst_ckspreise}') LEFT JOIN node AS n ON min_preis.entity_id=n.nid WHERE n.status=1

Grüsse

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke, Robert. Kann ich den

Eingetragen von ThuleNB (380)
am 04.11.2015 - 11:19 Uhr

Danke, Robert. Kann ich den Code genau wie von dir geschrieben versuchen, oder muss ich da noch etwas anpassen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Thomas,es sollte so

Eingetragen von Hyp1 (1463)
am 04.11.2015 - 13:50 Uhr

Hallo Thomas,

es sollte so funktionieren, probiers es am besten in phpmyadmin aus.

Grüsse

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jetzt hatte ich endlich Zeit,

Eingetragen von ThuleNB (380)
am 09.11.2015 - 08:44 Uhr

Jetzt hatte ich endlich Zeit, das zu testen. Ich habe deinen Code wie folgt eingefügt:

$min_query = db_query('SELECT MIN(field_gewerbesteuerh_he_value) as min_gewerbesteuer FROM {field_data_field_gewerbesteuerh_he} LEFT JOIN node AS n ON min_gewerbesteuer.entity_id=n.nid WHERE n.status=1');
    $record = $min_query->fetchAssoc();
    $min=floatval($record['min_gewerbesteuer']);
    $settings['field_gewerbesteuerh_he_value']['slider_options']['bef_slider_min'] = $min;

Ich bekomme dann auf meiner Webseite diese Fehlermeldung:

Zitat:

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'min_gewerbesteuer.entity_id' in 'on clause': SELECT MIN(field_gewerbesteuerh_he_value) as min_gewerbesteuer FROM {field_data_field_gewerbesteuerh_he} LEFT JOIN node AS n ON min_gewerbesteuer.entity_id=n.nid WHERE n.status=1; Array ( ) in newbusiness_better_exposed_filters_settings_alter() (Zeile 220 von /sites/all/themes/newbusiness/template.php).

Habe ich da einen Fehler drin?

Danke und Gruß
Thomas

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo

Eingetragen von Hyp1 (1463)
am 09.11.2015 - 09:38 Uhr

Hallo Thomas,

min_gewerbesteuer ist anscheinend nur ein Wert (field_gewerbesteuerh_he_value) und keine ganze Reihe der Tabelle.
Die entity_id müsste in field_data_field_gewerbesteuerh_he zu finden sein.
Probier es mal so:
SELECT MIN(field_gewerbesteuerh_he_value) AS min_gewerbesteuer,entity_id AS eid FROM {field_data_field_gewerbesteuerh_he} LEFT JOIN node AS n ON eid=n.nid WHERE n.status=1;

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Robert, danke für deine

Eingetragen von ThuleNB (380)
am 10.11.2015 - 20:12 Uhr

Hallo Robert,

danke für deine ausdauernde Hilfe! Sobald ich aber den View aufrufe, erscheint nun eine ähnliche Meldung:

Zitat:

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'eid' in 'on clause': SELECT MIN(field_gewerbesteuerh_he_value) AS min_gewerbesteuer,entity_id AS eid FROM {field_data_field_gewerbesteuerh_he} LEFT JOIN node AS n ON eid=n.nid WHERE n.status=1; Array ( ) in newbusiness_better_exposed_filters_settings_alter() (Zeile 220 von /sites/all/themes/newbusiness/template.php).

Hätte ich in deinem Code noch etwas anpassen müssen, weil du schreibst:

Zitat:

Die entity_id müsste in field_data_field_gewerbesteuerh_he zu finden sein

VG
Thomas

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Thomas poste mal die

Eingetragen von Hyp1 (1463)
am 11.11.2015 - 09:43 Uhr

Hallo Thomas

poste mal die Struktur der Tabelle field_data_field_gewerbesteuerh_he.
Dort müsste die referenzierte entitiy_id oder nid zu finden sein.

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe die Tabelle in

Eingetragen von ThuleNB (380)
am 11.11.2015 - 10:25 Uhr

Ich habe die Tabelle in phpmyadmin exportiert und so sieht sie aus:

<?xml version="1.0" encoding="UTF-8"?>

<!-- - phpMyAdmin XML Dump - version 4.0.7 - http://www.phpmyadmin.net - - Host: 127.0.0.1:3307 - Erstellungszeit: 11. Nov 2015 um 10:21 - Server Version: 5.5.45-3 - PHP-Version: 5.3.28 -->
-<pma_xml_export xmlns:pma="http://www.phpmyadmin.net/some_doc_url/" version="1.0">
<!-- - Structure schemas -->
-<pma:structure_schemas>-<pma:database charset="utf8" collation="utf8_unicode_ci" name="usrdb_mybfkbru1"><pma:table name="field_data_field_gewerbesteuerh_he"> CREATE TABLE `field_data_field_gewerbesteuerh_he` ( `entity_type` varchar(128) NOT NULL DEFAULT '' COMMENT 'The entity type this data is attached to', `bundle` varchar(128) NOT NULL DEFAULT '' COMMENT 'The field instance bundle to which this row belongs, used when deleting a field instance', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'A boolean indicating whether this data item has been deleted', `entity_id` int(10) unsigned NOT NULL COMMENT 'The entity id this data is attached to', `revision_id` int(10) unsigned DEFAULT NULL COMMENT 'The entity revision id this data is attached to, or NULL if the entity type is not versioned', `language` varchar(32) NOT NULL DEFAULT '' COMMENT 'The language for this data item.', `delta` int(10) unsigned NOT NULL COMMENT 'The sequence number for this data item, used for multi-value fields', `field_gewerbesteuerh_he_value` decimal(10,0) DEFAULT NULL, PRIMARY KEY (`entity_type`,`entity_id`,`deleted`,`delta`,`language`), KEY `entity_type` (`entity_type`), KEY `bundle` (`bundle`), KEY `deleted` (`deleted`), KEY `entity_id` (`entity_id`), KEY `revision_id` (`revision_id`), KEY `language` (`language`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Data storage for field 86 (field_gewerbesteuerh_he)'; </pma:table></pma:database></pma:structure_schemas>
<!-- - Datenbank: 'usrdb_mybfkbru1' -->
-<database name="usrdb_mybfkbru1">
<!-- Tabelle field_data_field_gewerbesteuerh_he -->
-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">88</column><column name="revision_id">88</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">365</column></table>-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">89</column><column name="revision_id">89</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">360</column></table>-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">91</column><column name="revision_id">91</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">400</column></table>-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">92</column><column name="revision_id">92</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">310</column></table>-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">93</column><column name="revision_id">93</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">340</column></table>-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">94</column><column name="revision_id">94</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">240</column></table>-<table name="field_data_field_gewerbesteuerh_he"><column name="entity_type">node</column><column name="bundle">profil</column><column name="deleted">0</column><column name="entity_id">95</column><column name="revision_id">95</column><column name="language">und</column><column name="delta">0</column><column name="field_gewerbesteuerh_he_value">360</column></table></database></pma_xml_export>

Kannst du damit etwas anfangen?

Danke und Gruß!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,ja ich habe die

Eingetragen von Hyp1 (1463)
am 11.11.2015 - 10:39 Uhr

Hallo,

ja ich habe die Tabelle schnell bei mir erstellt und folgenden Query ausprobiert:
SELECT MIN( field_gewerbesteuerh_he_value ) AS min_gewerbesteuer, entity_id AS eid FROM field_data_field_gewerbesteuerh_he LEFT JOIN node AS n ON entity_id = n.nid WHERE n.status =1;
Dieser Query liefert Dir min_gewerbesteuer und eid zurück, wenn der node status 1 ist.

Grüsse

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Robert, sorry für die

Eingetragen von ThuleNB (380)
am 25.11.2015 - 22:20 Uhr

Hallo Robert,

sorry für die späte Rückmeldung. Ich erstelle meine Webseite nicht hauptberuflich, daher komme ich nicht so oft dazu. Deine Lösung hat wunderbar funktioniert.
Ich danke Dir vielmals für deine Hilfe!

Grüße
Thomas

  • 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 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

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 14 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