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 - 22: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 (9461)
am 19.12.2011 - 23: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 - 09: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 (9461)
am 20.12.2011 - 10: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 - 10: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 - 13: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 (9461)
am 20.12.2011 - 13: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 - 14: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 (9461)
am 20.12.2011 - 14: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 - 17: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 - 16: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

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20458

Neue User:

  • Znogsnernoimb
  • ByteScrapers
  • Mroppoofpaync

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