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

[gelöst] Views Integration Datum

Eingetragen von manuelBS (330)
am 24.06.2010 - 17:16 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hey, ich habe ein eigenes Modul mit einer eigenen Tabelle in der lediglich zwei Datumsfelder gespeichert werden. Das scheme ist wie folgt:

....

'nid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'vid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),

'date_from' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'date_till' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
....

Nun möchte ich, dass ich in views auf diese Tabelle, vor allem auf die Datumsfelder zugreifen kann.
Meine Views Handler habe ich in der .views.inc wie folgt definiert:

$data = array();

  $data['MY_RANGE_TABLE']['table']['group']  = t('MY RANGE');

  // tables + fields that can be used for SQL Joins
  $data['MY_RANGE_TABLE']['table']['join'] = array(
    'node_revisions' => array(
      'left_field' => 'vid',
      'field' => 'vid',
    ),
'node' => array(
      'left_field' => 'vid',
      'field' => 'vid',
    ),
  );

$data['MY_RANGE_TABLE']['date_from'] = array(
    'title' => t('Date from'),
    'help' => t('date from'),
    'field' => array(
      'handler' => 'views_handler_field_date',
      'click sortable' => TRUE,
     ),
    'filter' => array(
      'handler' => 'views_handler_filter_date',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort_date',
    ),
'argument' => array(
       'handler' => 'views_handler_argument_date',
     ),
  );

Date till analog.

Nun will ich mir mit Views folgende Filtermöglichkeiten bereitstellen:

Zeige mit alle Nodes, bei denen das Feld date_from >= [EXPOSED FILTER DATUM A] UND date_till <= [EXPOSED FILTER DATUM B] liegt.

Kann mir jemand weiterhelfen, wie ich das hinbekomme?

Vielen Dank schonmal!

‹ Petition node - user permissions [gelöst] Hook nachdem Node komplett gespeichert wurde ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Muss ich vielleicht den

Eingetragen von manuelBS (330)
am 25.06.2010 - 18:53 Uhr

Muss ich vielleicht den Filter des Moduls NodeAPI verwenden? Oder gibt es gar einen völlig anderen Filter dazu?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok ich habe es nun

Eingetragen von manuelBS (330)
am 28.06.2010 - 15:16 Uhr

Ok ich habe es nun hinbekommen.
Man muss zusätzlich hook_date_api_fields implementieren, dann wird auch das Datumsfeld zur Auswahl angeboten.

Sieht bei mir nun wie folgt aus:

/**
* Implementation of hook_date_api_fields
*/
function MY_MODULE_date_api_fields($field) {

  $values = array(
    // The type of date: DATE_UNIX, DATE_ISO, DATE_DATETIME.
    'sql_type' => DATE_UNIX,
    // Timezone handling options: 'none', 'site', 'date', 'utc'.
    'tz_handling' => 'date',
    // Needed only for dates that use 'date' tz_handling.
    'timezone_field' => '',
    // Needed only for dates that use 'date' tz_handling.
    'offset_field' => '',
    // Array of "table.field" values for related fields that should be
    // loaded automatically in the Views SQL.
    'related_fields' => array(),
    // Granularity of this date field's db data.
    'granularity' => array('year', 'month', 'day'),
  );

  switch ($field) {
    case 'MY_TABLE.date_from':
    case 'MY_TABLE.date_till':
      return $values;
  }
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

related_fields

Eingetragen von sewimoeller (27)
am 13.07.2010 - 16:34 Uhr

Hi manuelBS,

ich hatte das gleiche Problem. Meine Lösung sahr auch so aus, mit folgender Ausnahme.
'related_fields' => array('MY_TABLE.date_from', 'MY_TABLE.date_till');
in dem hook_date_api_fields.

Aber ich habe das für calendar module gebraucht, der sich auf views module aufsetzt.

Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

auch andere händler

Eingetragen von sewimoeller (27)
am 13.07.2010 - 16:40 Uhr

'field' => array(
'handler' => 'views_handler_field_date',
----------------------
'argument' => array(
'handler' => 'date_api_argument_handler',
--------------------------------
'filter' => array(
'handler' => 'date_api_filter_handler',
--------------------------
'sort' => array(
'handler' => 'views_handler_sort_date',
-------------------------
aber man kann wahrscheinlich die Vergleiche datum_from < datum < datum_to auch ohne diese Händler machen,
nur int vergleichen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 10 Stunden 51 Minuten
  • anyone has a working Betaflight mirror right now?
    vor 3 Tagen 16 Minuten
  • Vielen Dank für Ihren
    vor 3 Tagen 4 Stunden
  • Composer ist sehr ratsam
    vor 5 Tagen 3 Stunden
  • Vielen Dank für den
    vor 1 Woche 14 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 1 Woche 1 Tag
  • Gut gemacht
    vor 1 Woche 1 Tag
  • Layout Builder etc. z.B. für Landing Pages
    vor 1 Woche 1 Tag
  • Links
    vor 1 Woche 3 Tagen
  • Moin,wow, sehr gutes
    vor 1 Woche 4 Tagen

Statistik

Beiträge im Forum: 250315
Registrierte User: 20561

Neue User:

  • rofilm
  • Cruzorerm
  • Plandkeews

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 12 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