Calendar: Umstellung des Zeitformats im Kalendertitel auf das deutsche Format
Eingetragen von m.gillen (126)
am 12.04.2013 - 14:34 Uhr in
am 12.04.2013 - 14:34 Uhr in
Hallo.
Es gibt hier einen schönen Artikel über die Umstellung des Kalenderformats auf das deutsche Format mit Drupal 6 und Views 2: http://www.drupalcenter.de/node/24416
Nun habe ich genau dieses Problem mit Drupal 7 und Views 3, sowie dem passenden Calendar-Modul.
Und hier sieht alles ganz anders aus. Ich habe mich nun fast eine Stunde durch den neuen Quellcode gekämpft, kann aber keine Stelle finden, an der ich die Formatierung anpassen könnte.
Hat irgendwer einen Tipp?
Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
das ist die Drupal 7 Version
am 12.04.2013 - 19:49 Uhr
das ist die Drupal 7 Version mit deutschem Datumsformat, ich hoffe ich meine das gleich wie Du...
function DEINTHEME_date_nav_title($params) {
$granularity = $params['granularity'];
$view = $params['view'];
$date_info = $view->date_info;
$link = !empty($params['link']) ? $params['link'] : FALSE;
$format = !empty($params['format']) ? $params['format'] : NULL;
switch ($granularity) {
case 'year':
$title = $date_info->year;
$date_arg = $date_info->year;
break;
case 'month':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'F Y' : 'F');
$title = date_format_date($date_info->min_date, 'custom', $format);
$date_arg = $date_info->year . '-' . date_pad($date_info->month);
break;
case 'day':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'l, j. F, Y' : 'l, j. F ');
$title = date_format_date($date_info->min_date, 'custom', $format);
$date_arg = $date_info->year . '-' . date_pad($date_info->month) . '-' . date_pad($date_info->day);
break;
case 'week':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'F j, Y' : 'F j');
$title = t('Week of @date', array('@date' => date_format_date($date_info->min_date, 'custom', $format)));
$date_arg = $date_info->year . '-W' . date_pad($date_info->week);
break;
}
if (!empty($date_info->mini) || $link) {
// Month navigation titles are used as links in the mini view.
$attributes = array('title' => t('View full page month'));
$url = date_pager_url($view, $granularity, $date_arg, TRUE);
return t($title);
}
else {
return $title;
}
}
in die template.php
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
Hi oteno, vielen Dank, das
am 08.05.2013 - 16:46 Uhr
Hi oteno,
vielen Dank, das funktioniert bestens, Du hast jedenfalls das gleiche gemeint wie ich!
Grad damit der Ursprung hier auch notiert ist: deklariert werden diese Formate in Drupal7 im date_views/theme.inc des date - Moduls ;)
Von - bis Wochenansicht
am 11.06.2013 - 15:45 Uhr
Hallo und Danke für dein Beispiel, welches Super funktioniert.
Ich möchte jedoch in der Wochenansicht eine "Von Montag bis Sonntag-Ansicht" erzeugen.
Im Moment nutze ich "Woche ab 10. Juni 2013"
case 'week':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'j.F Y' : 'j.F');
$title = t('Week of @date', array('@date' => date_format_date($date_info->min_date, 'custom', $format)));
$date_arg = $date_info->year . '-W' . date_pad($date_info->week);
break;
es soll aber 10. Juni - 17. Juni 2013 oder 10.06. - 17.06.2013 werden. weiß jemand wie ich das bewerkstelligen kann?
Da die t-Funktion auch zwei
am 11.06.2013 - 16:15 Uhr
Da die [api:t t-Funktion] auch zwei Parameter bekommen kann, sollte das im Prinzip kein Problem sein. Laß Dir mit dpm (kommt aus dem Devel Modul) die Struktur von date_info anzeigen, ob dort das Enddatum der Woche vorliegt, sonst mußt Du es berechnen.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo, hier der Auszug aus
am 11.06.2013 - 17:59 Uhr
Hallo,
hier der Auszug aus meiner Funktion in der template.php
case 'week':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'j. m. Y' : 'j m ');
$title = t('Calendarweek from @date to @date1', array('@date' => date_format_date($date_info->min_date, 'custom', 'j.n.'),
'@date1' => date_format_date($date_info->max_date, 'custom', $format)));
$date_arg = $date_info->year . 'W' . date_pad($date_info->week);
break;
Anstatt Calendarweek schreibst Du natürlich nur Week.
Ich bräuchte da auch noch etwas Hilfe, weil ich bräuchte das jetzt so z.B. 21. Kalenderwoche vom .... bis ....
Nur habe ich gerade keine Ahnung wie ich die 21 vorne noch rein bringen soll.
Die Kalenderwoche wird ja durch den Buchstaben W erzeugt. Aber wie genau muss ich das zuvor reinschreiben?
Es wäre toll, wenn mir das jemand von Euch sagen könnte.
Danke.
Viele Grüße
Marita Betz
Barrierefreies Webdesign
Marita Betz
http://www.barrierefreies-webdesign-mb.de
Dann versuche es doch mal
am 11.06.2013 - 19:09 Uhr
Dann versuche es doch mal so:
case 'week':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'j. m. Y' : 'j m ');
$title = t('Calendarweek @date2 from @date to @date1',
array(
'@date' => date_format_date($date_info->min_date, 'custom', 'j.n.'),
'@date1' => date_format_date($date_info->max_date, 'custom', $format),
'@date2' => date_format_date($date_info->min_date, 'custom', 'W'),
));
$date_arg = $date_info->year . 'W' . date_pad($date_info->week);
break;
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Das hat geklappt, aber wie ist die Schreibweise anders rum?
am 12.06.2013 - 06:36 Uhr
Hallo Werner,
danke für Deinen Hinweis.
Jetzt muss ich nur noch mal ausprobieren ob es auch geht, wenn man das @date2 vor die Calendarweek macht. Weil da müsste ja dann gleich hinter @date2 ein Punkt.
Damit es dann so ausschaut. Beispiel: 21. Kalenderwoche von ... bis ...
Muss ich dass dann so schrieben:
$title = t('@date2. Calendarweek from @date to @date1',
oder
$title = t(@date2 . '.' . 'Calendarweek from @date to @date1',
Viele Grüße
Marita
Barrierefreies Webdesign
Marita Betz
http://www.barrierefreies-webdesign-mb.de
Das solltest Du in der
am 12.06.2013 - 08:44 Uhr
Das solltest Du in der deutschen Übersetzung erledigen. Die t-Funktion bekommt immer englische Strings, sonst funktioniert sie nicht als Translate-Funktion. Setze ich im englischen die Wochenzahl nach vorne muß ich erst einmal sehen, wie ich die zur Zahl passende Endung (st, nd, rd, th) anhängen kann. Also habe ich die Zahl hinter die Calendarweek gesetzt.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke Werner, der Groschen
am 12.06.2013 - 22:48 Uhr
Danke Werner,
der Groschen ist gefallen ;)
Daran habe ich nicht gedacht, da hast Du recht
am 13.06.2013 - 07:02 Uhr
Hallo Werner,
danke für die Erläuterung. Du hast recht, dass wird dann zu aufwändig.
Viele Grüße
Marita Betz
Barrierefreies Webdesign
Marita Betz
http://www.barrierefreies-webdesign-mb.de
drupal commons Kalendertitel verschwunden
am 06.09.2013 - 08:50 Uhr
Hallo zusammen,
ich nutze drupal commons-7.x-3.0 und habe in der theme.inc des date_views/theme versucht auf das deutsche Datumsformat umzustellen. Seitdem sind leider alle Kalendertitel (z.B. "Woche ab 2. Sebtember") verschwunden. Was habe ich falsch gemacht?
Vielleicht kann mir jemand helfen.
Hier der Code aus theme.inc
function commons_origins_date_nav_title($params) {
$granularity = $params['granularity'];
$view = $params['view'];
$date_info = $view->date_info;
$link = !empty($params['link']) ? $params['link'] : FALSE;
$format = !empty($params['format']) ? $params['format'] : NULL;
switch ($granularity) {
case 'year':
$title = $date_info->year;
$date_arg = $date_info->year;
break;
case 'month':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'F Y' : 'F');
$title = date_format_date($date_info->min_date, 'custom', $format);
$date_arg = $date_info->year . '-' . date_pad($date_info->month);
break;
case 'day':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'l, j. F, Y' : 'l, j. F ');
$title = date_format_date($date_info->min_date, 'custom', $format);
$date_arg = $date_info->year . '-' . date_pad($date_info->month) . '-' . date_pad($date_info->day);
break;
case 'week':
$format = !empty($format) ? $format : (empty($date_info->mini) ? 'F j, Y' : 'F j');
$title = t('Week of @date', array('@date' => date_format_date($date_info->min_date, 'custom', $format)));
$date_arg = $date_info->year . '-W' . date_pad($date_info->week);
break;
}
if (!empty($date_info->mini) || $link) {
// Month navigation titles are used as links in the mini view.
$attributes = array('title' => t('View full page month'));
$url = date_pager_url($view, $granularity, $date_arg, TRUE);
return t($title);
}
else {
return $title;
}
}
Wo hast Du diesen Code
am 06.09.2013 - 09:19 Uhr
Wo hast Du diesen Code reingestellt/geändert? Hoffentlich in der Datei template.php des Themes Commons Origins und das Theme heißt bei Dir auch noch so und ist Dein aktuelles Theme. Wenn nicht, ist das der Fehler.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Nein leider nicht...
am 06.09.2013 - 09:36 Uhr
Hallo Werner,
danke für Deine Hilfe! Ich hab den Code leider ursprünglich in der theme.inc des date_views geändert. Ich hab ihn jetzt in die template.php reingestellt. Leider hat sich keine Änderung ergeben. Hast Du noch Vorschläge?
Gruß,
Tom
Die Fragen zum aktuellen
am 06.09.2013 - 10:03 Uhr
Die Fragen zum aktuellen Theme hast Du nicht beantwortet. Stimmen meine Annahmen denn? Hast Du nach den Änderungen den Cache gelöscht? Änderungen im Theme werden nämlich erst nach dem Löschen des Caches aktiv.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner, Deine Annahmen
am 06.09.2013 - 18:24 Uhr
Hallo Werner,
Deine Annahmen waren korrekt. Ich nutze Commons Origins. Ich hab nach den Änderungen den Cache gelöscht - leider ohne Erfolg...
Gruß, Tom!
Hallo Werner, also ich steh
am 08.09.2013 - 12:31 Uhr
Hallo Werner,
also ich steh ziemlich aufm Schlauch. Ich hab jetzt alle in Frage kommenden - weil von mir geänderten - Dateien (theme.inc; template.php etc.) durch die Original-Dateien ersetzt. Normalerweise müsste doch der Kalender nach leeren des Cache wieder mit den ursprünglichen Titeln erscheinen? Es tut sich aber nichts. Die Titel sind nach wie vor weg...
Vielleicht fällt Dir ja noch was ein. Ansonsten bleibt mir wohl nichts anders übrig als das Calendar-Modul zu löschen und nach einer Neu-installation nochmal von vorne anzufangen.
Gruß,
Tom.
Lösche mal die Kalender-View
am 08.09.2013 - 12:48 Uhr
Lösche mal die Kalender-View und baue die nach Anweisung neu auf. Vielleicht hilft das.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Problem gelöst!
am 08.09.2013 - 14:47 Uhr
Servus nochmal!
Ich hatte einen Fehler im Code der calendar_multiday.css... Das war der Fehler! Jetzt funktioniert wieder alles.
Trotzdem vielen Dank für die Hilfe.
Tom!