Calender und Date - Ärger mit der Monatsansicht

Holger Weischenberg | 04.08.2014
Dieser Beitrag ist über ein Jahr alt. Im Internet ist das eine Ewigkeit.

Notiz an mich selbst: Der Event- und Terminkalender für Drupal 7

Vorab, wer Ärger möchte, kann sich das Modul hier runterladen. Trotz der kleinen Probleme, ist es ein sehr gutes Modul für Kalenderaufgaben im Zusammenspiel mit Views.

Modul herunterladen und installieren:

drupal.org/project/calendar

Abhängigkeiten:

drupal.org/project/views

drupal.org/project/date


Erstens - ein Darstellungsfehlter, den ich bei verschiedenen responsiven, bzw. adaptiven Templates hatte:

(Darstellungsfehler/Überlagerung bei Prev/Next-button)

calendar_multiday.css:776

An dieser Stelle kann entsprechend der eigenen Layoutvorgaben Änderungen vorgenommen werden:

right: auto
left: 10px

Hier die vollständige Klasse:

.view .date-nav-wrapper .date-prev {
  -moz-border-radius: 5px 0 0 5px;
  border-radius: 5px 0 0 5px;
  background: none repeat scroll 0 0 #dfdfdf;
  float: none;
  padding: 5px 0;
  position: absolute;
  right: auto;
  left: 10px;
  text-align: right;
  top: 0px;
}

Zweitens - eine Fehlermeldung:

Notice: Undefined index: groupby_times in template_preprocess_calendar_day() (Zeile 269 von /var/www/***/sites/all/modules/calendar/theme/theme.inc).

Lösung:

Die Lösung dazu findet sich auf drupal.org - der vorgeschlagene Lösungsweg klingt seltsam, hat aber funktioniert...

#11 Posted by dhalbert on January 20, 2012 at 2:02pm

OK, this is apparently due to an uninitialized value in the Calendar View.
Here's how to fix an existing view:

Go to your Calendar View.
Choose the Week Display.
Click on Settings in Format: Calendar | Settings .
You'll see Time Grouping, with the dropdown set to Hour.
You don't need to change anything, but click Apply (this display).
Then don't forget to click Save on the View editing page.
Now go to the Week view for your calendar. The error should be gone.

Why there's an uninitialized value I don't know and needs further research, but the above should remove the error from an existing view.

drupal.org/node/1398584#comment-5493262


Drittens, wieder eine Fehlermeldung, die auf der Monatsübersicht auftaucht:

Warning: Illegal string offset 'data' in template_preprocess_calendar_month() (line 44 of /var/www/***/htdocs/sites/***/modules/contrib/calendar/theme/theme.inc)

Auch hier funktioniert eine Lösungsvorschlag von einem User auf drupal.org - leider habe ich nicht ordentlich dokumentiert, d.h. die Quelle ist mir abhanden gekommen.

Lösung:

sites/all/modules/calendar/theme/theme.inc:37

<?php
$cell = $data['data'];
?>

ersetzen:

<?php
      if (!isset($data['data'])) {
        continue;
      }
      $cell = $data['data'];
?>

Dieser Fehler war nach der entsprechenden Änderung in der theme.inc behoben. Allerdings tauchte er nach dem aktuellen Sicherheitsupdate für Date natürlich erneut auf, wieder lies er sich durch die obigen Ergänzung beheben.


Viertens - eine m.E. unsinnige Ausgabe im Titel der Kalenderview

Nach einem Update des Date Moduls, erschien in der Monatsausgabe des Blocks und der Hauptansicht im Titel die Angabe "erster Tag des Monats", d.h. auch z.B. am vierten August stand dort als Ausgabe: Freitag,  August 1, bzw. Freitag, August 1, 2014. Am vierten August interessiert es mich i.d.R. wenig, ob der erste August ein Freitag war - zumindest auf den von mir betreuten Webseiten.

Nach langer Suche habe ich die den Übeltäter in sites/all/modules/date/date_views/theme/theme.inc:176 gefunden:

case 'month':
   $format = !empty($format) ? $format : (empty($date_info->mini) ? $format_with_year : $format_without_year);

Die Variablen $format_with_year und $format_without_year sind an dieser Stelle neu und führen zu dieser m.E. unnützen Ausgabe.

Deshalb habe ich sie auf die alte Ausgabe zurückgesetzt, die entweder nur den Monat (Block) oder Monat und Jahr ausgibt (Page):

case 'month':
      $format = !empty($format) ? $format : (empty($date_info->mini) ? 'F Y' : 'F');

Falls es einen bestimmten Grund für die Änderungen im Update gab, sind sie mir wohl entgangen.

Modules

Kommentieren