Hallo,
kann mir jemand sagen, wie man im Frontend bei Events hinter der Zeitangabe auch das Wort "Uhr" abbilden kann?
Danke!
Gruß, Michael!
Hallo,
kann mir jemand sagen, wie man im Frontend bei Events hinter der Zeitangabe auch das Wort "Uhr" abbilden kann?
Danke!
Gruß, Michael!
Da musst Du das zugehoerige Template anpassen
von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«
Contao-Hosting: begeisterter Uberspace-Nutzer
Hi. Darüber bin ich auch schon "gestolpert".
Im Prinzip.. klar übers Template. Aber bei den Events gibts ja noch die Handhabe mit den mehrtägigen Events, wo in der Regel die Zeiten bei der Ausgabe ignoriert werden, also muss man da etwas mehr tun, als nur "Uhr" irgendwo hinschrieben (das taucht eben sonst auch auf)
Wie könnte man das lösen?
Gruß
Thomas
blucomp | Webdesign & Onlinelösungen
zur not z.b. mit jquery. so mache ich das immer wenn es gar nicht mehr anders geht.
im template event_full.tpl wird die Variable $this->date mit solchem Inhalt ausgegeben "16.09.2011 (20:00)"
Die Variable wird "irgendwo" im Code (nicht im template!) zusammengesetzt. Da wäre jetzt die Frage ob man da einfach und updatesicher rankommt.
Auf die schnelle habe ich bei mir das mit str_replace gelöst. Ich suche in $this->date nach der schließenden Klammer und ersetze die durch "Uhr und schließende Klammer"
Sieht dann so aus:Geht wahrscheinlich noch schöner , z.B. ist das noch nicht sprachenabhängigPHP-Code:
str_replace( ')' , 'Uhr)' , $this->date)
viele Grüße
Magnus
Noch einfacher geht es, wenn man das Datumsformat wie folgt wählt:
Code:d.m.Y H:i \U\h\r
Wie wär's alternativ mit CSS?
Code:.time:after { content: "UHR"; }
Gruß
-----------------------------------------------------------------------------------------------------------------
„Ich versuche immer das zu tun, was ich nicht kann, damit ich hoffentlich lerne, wie es geht.“
Pablo Picasso
Das Format bezieht sich rein auf das entsprechende Template und nicht auf das Zeitformat in den Einstellungen.
zum BeispielNachtrag:PHP-Code:
<?php echo $this->parseDate("d.m.Y H:i \U\h\r",strtotime($this->date)); ?>
verwendet man die Zeit Einstellungen im Startpunkt (nicht in den Einstellungen) geht es wunderbar mit H:i \U\h\r bzw. d.m.Y H:i \U\h\r
Geändert von magicsepp (31.05.2012 um 21:07 Uhr)
blucomp | Webdesign & Onlinelösungen
Hallo Thomas,
ich hab es gerade in der musik-akamdie eingebaut unter Uhrzeit und Datum/ Zeit.
FE Anzeige erst einmal überall prima (ausser post #8) - nur ein neuer Termin in den news bzw events z. B. läßt sich nicht mehr anlegen - das erzeugt folgendes im Log
Code:PHP Fatal error: Uncaught exception 'Exception' with message 'Invalid date format "H:i \U\h\r"'
Geändert von magicsepp (31.05.2012 um 14:48 Uhr)
Hi.
Also ich hab echt diesbezüglich keine Probleme. Weder im Frontend, noch im Backend - hab jetzt alle möglichen Einstellungen getestet... News... Datum, Uhrzeit, Anzeigen ab-bis alles kein Problem.
Vielleicht liegt das daran, das ich die \U\h\r - Einstellung im Startpunkt vorgenommen habe?
Gruß
Thomas
blucomp | Webdesign & Onlinelösungen
Hallo zusammen,
könnte man doch das Wort Uhr in das angepasste Template schreiben?
Als Basis das hier, dann einmal nur das Datum, einmal nur die Uhrzeit ausgeben und dort Uhr anfügen?
Beispiel:
Code:<p class="info"> <span class="date"><?php echo $this->parseDate("d.m.Y", $this->timestamp); ?></span> <span class="time"><?php echo $this->parseDate("H:i", $this->timestamp); ?> Uhr</span> <?php echo $this->author; ?> <?php echo $this->commentCount; ?></p>
---------------------------------
Beste Grüße planepix
Contao für Webdesigner (Website), Twitter: @contaowebdesign
weitzeldesign
Contao-Sprechstunde
Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
Contao Jahrbuch: www.contao-jahrbuch.de
Contao Agenturtag: www.contao-agenturtag.de
Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki
Schon wieder ein Update?
Glücklich sind die, die den Wert erkennen – und wertschätzen.
„Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”
@planepix Danke Thomas für den Hinweis gutes How-to.... das es so geht war schon klar.... ;-)
hier mein Kalenderblatt ... Kalenderblatt.JPG
@Thomas
das ist der entscheidende Unterschied (im Startpunkt geht es tatsächlich ohne Probleme) - wieder was dazugelernt
die selbe Einstellung unter den Einstellungen macht den Ärger wie beschrieben.
Danke schön!
Geändert von magicsepp (31.05.2012 um 21:17 Uhr)
Ja genau das Template zu bearbeiten ist und wäre das Einfachste... wenn da der Kalender mit seinen beiden Zeiten nicht wäre...
Mann könnte aber beim Kalender-Template folgendes einfügen:
Ergebnis: 10:00 Uhr - 11:00 UhrPHP-Code:
echo $date = substr("10:00 - 11:00", 0, 6) .' Uhr - '.substr("10:00 - 11:00", 8, 13).' Uhr';
"10:00 - 11:00" dann durch die entsprechende Variable ersetzen.
@marcos
warum nicht generell im Startpunkt H:i \U\h\r verwenden? bzw im template die Ausgabe direkt anpassen mit <?php echo $this->parseDate("d.m.Y H:i \U\h\r",strtotime($this->date)); ?> ?
Ich muss diesen Post noch einmal ausgraben.
Für "Events_upcoming" haben mir die Hinweise geholfen, nur bei "Events_full" komme ich nicht weiter. Ich möchte auch dort nach der Uhzeit das Wort "Uhr" stehen haben, also z.B. "23.04.2014 (20:00 Uhr)"
Meine bisherigen Versuche führen aber nicht wirklich zum Ziel :-(
Kann mir jemand einen Tip geben, was genau ich in dem Template "Events_full" ändern muss?
Für 2.11.17 hab ich es (für mich) so geändert:
ersetzen durch:PHP-Code:
<p class="info"><?php echo $this->date; ?></p>
Hintergrund: Mir gefiel die Formatierung der Zeit / des Datums in den News / Event Templates nicht.PHP-Code:
<?php
$startDate = $this->startDate ? $this->parseDate('l, j. F Y', $this->startDate) : '';
$startDateShort = $this->startDate ? $this->parseDate('D, j. M. Y', $this->startDate) : '';
$endDate = $this->startDate != $this->endDate && $this->endDate ? ' bis '.$this->parseDate('l, j. F Y', $this->endDate) : '';
$endDateShort = $this->startDate != $this->endDate && $this->endDate ? ' bis '.$this->parseDate('D, j. M. Y', $this->endDate) : '';
$startTime = $this->addTime == 1 ? $this->parseDate('H:i', $this->startTime) : '';
$endTime = $this->addTime == 1 ? $this->parseDate('H:i', $this->endTime) : '';
$dateString = $this->startDate == $this->endDate || $this->startTime == $this->endTime ? $startDate.' (ab '.$startTime.' Uhr)' : $startDate.' (ab '.$startTime.' Uhr bis '.$endTime.' Uhr)';
$dateStringShort = $this->startDate == $this->endDate || $this->startTime == $this->endTime ? $startDateShort.' (ab '.$startTime.' Uhr)' : $startDateShort.' (ab '.$startTime.' Uhr bis '.$endTime.' Uhr)';
$dateString = $this->addTime != 1 ? $startDate.$endDate : $dateString;
$dateStringShort = $this->addTime != 1 ? $startDateShort.$endDateShort : $dateStringShort;
?> <span class="datetime"><?php echo $dateString; ?></span>
Im Template für den Teaser kann man die Ausgabe ruhig etwas kürzen, im Template für die volle Ausgabe können Monat und Wochentage ruhig ausgeschrieben werden:
Man nimmt dann entweder die Variable $dateString oder eben $dateStringShort.
ToM
Geändert von Nightwing (23.04.2014 um 22:23 Uhr)
Warum kompliziert, wenn es einfach geht?
Startpunkt der Website > Globale Einstellungen
Zeitformat: (H:i \U\h\r)
Datums- und Zeitformat: d.m.Y H:i (\U\h\r)
Ergibt dann z.B. folgendes Ergebnis: (20:00 Uhr)
Gruss
Marco
@Nightwing:
Vielen Dank, das sieht super aus!!!
@marcos:
Das habe ich auch schon versucht, wirft aber dann Fehler aus...
Hallo 00-schneider
Was steht denn bei der Fehlermeldung?
LG
Marco
@marcos schau mal bitte Beitrag #10....
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen