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

[gelöst] Datumsfeld formatiert ausgeben

Eingetragen von hasel (136)
am 19.12.2011 - 23:53 Uhr in
  • Views
  • Drupal 7.x

Hej Hej,

ich versuche gerade ein Datumsfeld über views formatiert auszugeben, so dass jede Ausgabe Monat,Tag, Jahr in einem eigenem span steht. Ich habe folgenden code in drupal commons gefunden.

<?php
$time
= strtotime($row->{$field->field_alias});
?>

<?php if ($variables['view']->plugin_name != 'calendar_style'): ?>
  <div class="dateblock">
    <span class="month"><?php echo date('M', $time); ?></span>
    <span class="day"><?php echo date('j', $time) ?></span>
    <span class="year"><?php echo date('Y', $time) ?></span>
  </div>
<?php else: ?>
  <?php print $output; ?>
<?php endif; ?>

Problem ist, das mir der 1. Januar 1970 ausgegen wird. Ist ja eugentlich für drupal 6 wahrscheinlich muss doch noch eine Änderung bei der Abfrage vorgenommen werden stimmts? Oder fehlt noch was?

lg
hasel

‹ [Gelöst] Wie Image-fields in page.tpl.php platzieren? CCK Moultigroup paging ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das heißt, daß $time 0 ist

Eingetragen von wla (9466)
am 20.12.2011 - 00:33 Uhr

Das heißt, daß $time 0 ist (daher das Datum = Beginn der Unix Zählung). Welcher Feldname wird denn in der Query gezeigt, wenn Du Dir die Query ausgeben läßt? Das scheint nämlich falsch zu sein.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

also mein Feld welches das

Eingetragen von hasel (136)
am 20.12.2011 - 10:43 Uhr

also mein Feld welches das Datum liefert heist "field_event_date" und der view sieht wie folgt aus:

$view = new view;
$view->name = 'letzte_veranstaltungen';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Letzte Veranstaltungen';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Letzte Veranstaltungen';
$handler->display->display_options['use_more_text'] = 'mehr';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Zurücksetzen';
$handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Sortieren nach';
$handler->display->display_options['exposed_form']['options']['sort_asc_label'] = 'Aufsteigend';
$handler->display->display_options['exposed_form']['options']['sort_desc_label'] = 'Absteigend';
$handler->display->display_options['pager']['type'] = 'some';
$handler->display->display_options['pager']['options']['items_per_page'] = '5';
$handler->display->display_options['style_plugin'] = 'grid';
$handler->display->display_options['style_options']['columns'] = '1';
$handler->display->display_options['style_options']['alignment'] = 'vertical';
$handler->display->display_options['style_options']['fill_single_line'] = 1;
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['row_options']['inline'] = array(
  'title' => 'title',
  'field_event_date' => 'field_event_date',
);
$handler->display->display_options['row_options']['hide_empty'] = 0;
$handler->display->display_options['row_options']['default_field_elements'] = 1;
/* Feld: Inhalt: Datum */
$handler->display->display_options['fields']['field_event_date']['id'] = 'field_event_date';
$handler->display->display_options['fields']['field_event_date']['table'] = 'field_data_field_event_date';
$handler->display->display_options['fields']['field_event_date']['field'] = 'field_event_date';
$handler->display->display_options['fields']['field_event_date']['label'] = '';
$handler->display->display_options['fields']['field_event_date']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_event_date']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_event_date']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_event_date']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_event_date']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_event_date']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_event_date']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_event_date']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_event_date']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['field_event_date']['settings'] = array(
  'format_type' => 'medium',
  'fromto' => 'both',
  'multiple_number' => '',
  'multiple_from' => '',
  'multiple_to' => '',
  'show_repeat_rule' => 'show',
);
$handler->display->display_options['fields']['field_event_date']['field_api_classes'] = 1;
/* Feld: Inhalt: Titel */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Sortierkriterien: Inhalt: Titel */
$handler->display->display_options['sorts']['title']['id'] = 'title';
$handler->display->display_options['sorts']['title']['table'] = 'node';
$handler->display->display_options['sorts']['title']['field'] = 'title';
/* Filterkriterium: Inhalt: Veröffentlicht */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 0;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filterkriterium: Inhalt: Typ */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'veranstaltung' => 'veranstaltung',
);

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block');
$translatables['letzte_veranstaltungen'] = array(
  t('Master'),
  t('Letzte Veranstaltungen'),
  t('mehr'),
  t('Übernehmen'),
  t('Zurücksetzen'),
  t('Sortieren nach'),
  t('Aufsteigend'),
  t('Absteigend'),
  t('Block'),
);

hilft das weiter?

lg
hasel

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dann bau doch mal den Anfang

Eingetragen von wla (9466)
am 20.12.2011 - 11:26 Uhr

Dann bau doch mal den Anfang Deines Snippets um, um zu sehen, ob in dem Feld was sinnvolles drin ist

<?php
drupal_set_message
(print_r($row->{$field->field_event_date}, true);
$time = strtotime($row->{$field->field_event_date});
?>

Dann bekommst Du die Struktur des Feldes von Drupal als Meldung gezeigt. Den Text kannst Du dann posten, wenn Du immer noch Probleme hast.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dein Views Export hilft uns

Eingetragen von SteffenR@drupal.org (2262)
am 20.12.2011 - 11:35 Uhr

Dein Views Export hilft uns nicht wirklich weiter - wie werden denn die Daten in field_event_date gespeichert ?
Die in Commons verwendete Funktion lässt sich nur auf Unix-Timestamps anwenden - d.h. du müsstest den Inhalt deines Feldes erst in einen unix-Timestamp umwandeln..

Eine Weiterverarbeitung des Timestamps kann dann auch in Drupal 7 über die Funktion http://api.drupal.org/api/drupal/includes--common.inc/function/format_da... erfolgen.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

@ Werner ich habe den code in

Eingetragen von hasel (136)
am 20.12.2011 - 14:28 Uhr

@ Werner

ich habe den code in meine views-view-field--field-event-date.tpl.php Datei kopiert aber ich bekomme einen Syntaxfehler angezeigt.

@ Steffen

ich habe in meinem erstellten Inhaltstyp "Event" ein normales Date Feld angelegt Steuerelement "Pop Up Kalender". Eingesetzte Module "Date" und Calendar"

hilft das weiter?

Ich habe gesehen, dass ich auch ein Datumsfeld "timestamp" oder "Iso" anlegen kann.

lg
hasel

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe gerade gesehen, daß

Eingetragen von wla (9466)
am 20.12.2011 - 14:52 Uhr

Ich habe gerade gesehen, daß eine schließende runde Klammer fehlt. Die Zeile muß also lauten:

drupal_set_message(print_r($row->{$field->field_event_date}, true));

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

habe die Zeile durch die neue

Eingetragen von hasel (136)
am 20.12.2011 - 15:12 Uhr

habe die Zeile durch die neue ersetzt. jetzt bekomme ich die Meldung:

Fatal error: Cannot access empty property in line 2

Ich muss unbedingt PHP lernen damit ich solche Meldungen auch deuten kann :-)

lg
hasel

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hatte Dein

Eingetragen von wla (9466)
am 20.12.2011 - 15:52 Uhr

Ich hatte Dein Ausgangssnippet nicht überprüft. Also ist der Fehler bei dem Zugriff auf das Feld. Es muß wohl heißen:

<?php
$time
= strtotime($row->field_event_date);
?>

ich weiß jetzt allerdings nicht, ob das so ok ist, oder ob man noch etwas von der Unterstruktur angeben muß.
Setze doch bitte erst mal
<?php
drupal_set_message
(print_r($row->field_event_date, true);
$time = strtotime($row->field_event_date);
?>

Dann sieht man, was evtl. noch anzugeben ist.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Werner ich glaube ich bin zu

Eingetragen von hasel (136)
am 20.12.2011 - 18:10 Uhr

@Werner

ich glaube ich bin zu doof :-( also wenn ich diesen code so eingebe:

<?php
$time
= strtotime($row->field_event_date);
?>

<?php if ($variables['view']->plugin_name != 'calendar_style'): ?>
  <div class="dateblock">
    <span class="month"><?php echo date('M', $time); ?></span>
    <span class="day"><?php echo date('j', $time) ?></span>
    <span class="year"><?php echo date('Y', $time) ?></span>
  </div>
<?php else: ?>
  <?php print $output; ?>
<?php endif; ?>

bekomme ich die Fehlermeldung:

Notice: Undefined property: stdClass::$field_event_date in include() (Zeile 25 von /Users/anje/Sites/test/sites/all/themes/why/templates/views-view-field--field-event-date.tpl.php).

gebe ich diesen Code so ein:

<?php
drupal_set_message
(print_r($row->{$field->field_event_date}, true));
$time = strtotime($row->field_event_date);
?>

bekomme ich diese Meldung:

Fatal error: Cannot access empty property in /Users/anje/Sites/test/sites/all/themes/why/templates/views-view-field--field-event-date.tpl.php on line 2

Als Test habe ich dann mal dieses snippet eingefügt um zu sehen was passiert.

<?php
  drupal_set_message
(t('Don\'t panic!'), 'warning');
?>

Die Ausgabe ist korrekt und es erscheint keine Fehlermeldung.

Hast Du noch eine Idee?

lg
hasel

  • Anmelden oder Registrieren um Kommentare zu schreiben

so das Problem ist gelöst

Eingetragen von hasel (136)
am 22.12.2011 - 17:54 Uhr

so das Problem ist gelöst :-)

vielen Dank an @wla der das Problem super gelöst hat :-):-)

für alle die vielleicht das gleiche vorhaben hier die Lösung:

<?php
$mydate
= $row -> field_field_event_date[0]['rendered'];
$mydatum = explode(' ', $mydate);
$mydatum = explode('/', $mydatum[9]);
?>

  <div class="dateblock">
    <span class="month"><?php echo $mydatum[0]; ?></span>
    <span class="day"><?php echo $mydatum[1] ?></span>
    <span class="year"><?php echo $mydatum[2] ?></span>
  </div>

lg
hasel

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • The Best Way to Kill a Thrilling Evening at Crash Casino Games
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 6 Tagen 36 Minuten
  • Wenn die Subdomain auf
    vor 1 Woche 22 Stunden
  • ordnerstruktur
    vor 1 Woche 1 Tag
  • Die Subdomain muß auf den
    vor 1 Woche 3 Tagen
  • Verwende doch das Tag dafür,
    vor 4 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 5 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 14 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 2 Tagen
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20515

Neue User:

  • VegazoneSpel
  • Wolf Dab
  • Scottteday

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