Datum Ausgabe in den Contao News oder Events / Datum und Zeit

Es gibt ja schon zahlreiche Beiträge dazu, wie man ein Datum oder die Zeit anders für die Ausgabe formatieren kann. Manche der Beiträge sind schon sehr alt, andere finde ich auch weniger hilfreich, ohne entsprechendes Vorwissen. Daher möchte ich das Thema nochmal aufgreifen und neu zusammen stellen.

Global lässt sich das Datumformat und das Zeitformat in den Contao-Einstellungen einfach vornehmen (z.B. d.m.Y für die Ausgabe von 12.11.2022). Das gilt dann auf der ganzen Webseite, also in News und Events. Meist reicht dies vollkommen aus. Möchte man aber unterschiedliche Abbildungen des Datum oder der Zeit, z.B. eine Art Kalenderblattansicht eines Events, mit einem Datum beim Teasertext und einer zusätzlichen Datumausgabe im Bild zuim Event, dann muss das Template angepasst werden.

Nehmt dazu eines der Templates z.B. die event_teaser.html

Die normale Ausgabe des Datum sieht darin so aus:

<time datetime="<?= $this->datetime ?>"><?= $this->date ?> <?php if ($this->time):?><?php endif; ?></time>

Dies lässt sich nun anders formatieren. Wünscht man z.B. die Ausgabe 12. Nov dann muss der Ausdruck so aussehen:

<time datetime="<?= $this->datetime ?>"> <?= date("d. M",$this->startTime) ?></time>

Welche Einstellungen bei date möglich sind findet man hier: https://www.php.net/manual/de/function.date.php

Ein kleiner Auszug dazu:

<?php
$heute = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$heute = date("m.d.y");                         // 03.10.01
$heute = date("j, n, Y");                       // 10, 3, 2001
$heute = date("Ymd");                           // 20010310
$heute = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$heute = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$heute = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$heute = date("H:i:s");                         // 17:16:18
?>

Empfehlen möchte ich dazu auch den zwar schon 10 Jahre alten, aber auch heute noch nutzbaren Beitrag:
https://contao.org/de/news/individuelle-darstellung-von-datum-und-uhrzeit-bei-nachrichten.html

Schauen wir noch ein wenig genauer in den Ausdruck

<?= date("d. M",$this->startTime) ?>

Eine wichtige Stelle ist hier startTime. Diese Varriable liefert die Daten, die dann auf Wunsch formatiert werden. Möchte man andere Daten ausgeben, muss man diese Variable anpassen. Um heraus zu finden, welche Variable man überhaupt nutzen kann, also welche Daten von der Datenbank gliefert werden können, müsst ihr wie folgt vorgeben.

Kopiert den Ausdruck:

<?= $this->showTemplateVars() ?>

in euer Template, an bliebige Stelle hinein. Im Frontend könnte ihr dann die Variablen sehen. Das sieht dann so aus:

Somit ist es auch möglich das Enddatum eines Events anzupassen, oder z.B. das Datum wann das Event angelegt wurde, wenn diese Info relevant ist.

Ein kleines Beispiel, für ein Contao Event Template (z.B. event_teaser.html5):

<p class="time">
	<time datetime="<?= $this->datetime ?>"><?php echo $this->parseDate("D., ", $this->startTime); ?></time> 
	<time datetime="<?= $this->datetime ?>"><?= $this->date ?><?php if ($this->time):?> | <?= $this->time ?> Uhr<?php endif; ?></time>
</p>

Damit erhält man die Ausgabe: Sa., 26. Nov. | 20:30 – 23:00 Uhr
und dies ganz ohne spezielle Anpassungen beim Datum in den Contao Einstellungen.

 

So, ich hoffe diese Infos helfen ein wenig das Thema gut in den Griff zu bekommen. Viel Erfolg.

Bei den Newstemplates kann man auf ähnlichem Wege vorgehen und auch dort erst die Variablen auslesen und dann anpassen. Hier ein kleiner Tipp, wie ein Ausdruck dort aussehen kann:

<p class="time">
<time datetime="<?= $this->datetime ?>"><?= date('d.m.Y, H:i \U\h\r',$this->timestamp) ?></time>
</p>

Zurück

Kein Erfolg mit den hier beschriebenen Contao-Lösungen? Klappt es nicht mit dem gewünschten Contao-Update oder dem Umzug auf einen neuen Hostingserver?

Wenn die Frustration zu groß wird, einfach bei mir melden:
info@liquid-artwork.de - Ansprechpartner: Lars Scheumann
oder per Telefon: 07223 / 91 59 372

Fragen Sie den Contao Spezialisten
Manchmal ist es besser solche umfangreichen Aufgaben dem Profi zu überlassen, der schneller und sorgfältiger damit umgehen kann. Kostet seinen Preis, aber lohnt sich schnell, bevor man sich tagelang damit herum ärgert. LIQUID-ARTWORK betreut auch Kunden die ihre Webseite selbst erstellt haben, oder durch Dritte erstellt wurden. Kurze Anfrage bei mir und nach einer ersten Prüfung kann ich meist einen groben Preis nennen. Die Anfrage bei mir als alleine kostet dabei nichts!

Contao Spezialist - Contao Problemlösungen

Viele weitere, ähnliche und hoffentlich hilfreiche Beiträge findet Ihr im kompletten Contao-Helpdesk das ständig erweitert wird.

Zum Contao-Helpdesk...