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 - 16: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 - 17: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 - 14: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 - 15: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 - 15: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

  • 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
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250235
Registrierte User: 20463

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

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