Calendar

Voreinstellungen Als erstes muss ein Datumsformat eingerichtet werden: (unter Drupal8 nicht mehr nötig)

Das geht über Konfiguration-Datum und Uhrzeit. Dort ist oben rechts der zweite Reiter für Formate zuständig.

Dieses Format dann dem Typ „Kurz“ zuweisen oder einen neuen Typ anlegen. Als nächstes muss ein neuer Inhaltstyp angelegt werden mit dem Namen Datum. MIt dem Button "Speichern und Felder hinzufügen" gelangt man auf diese Seite:

Neben den Standardfeldern muss ein Datumsfeld wie angezeigt eingerichtet werden. Nach dem Speichern öffnet sich ein Fenster mit den Feldeinstellungen. Dort sollte das Enddatum aktiviert sein. Die Funktion Repeating Date eröffnet die Möglichkeit, bei Daten, die nur auf der eigenen Homepage geführt werden auch Wiederholungen einzugeben, wie jede Woche Montag… Für den Weiterexport führt dies zu Fehlern, aber der ist ja auch nicht vorgesehen. Feldeinstellungen speichern.

Drupal8 enthält ein Datumsfeld für "Datum" und "Zeitspanne". Letzteres muss gewählt werden, wenn auch mehrtägige Termine verwaltet werden sollen. Sollen diese auch exportiert werden, ist derzeit ein zusätzliches Datumsfeld für das Enddatum erforderlich.

Es  öffent sich ein weiteres Fenster für die Datumseinstellungen. Das Datum sollte Pflichtfeld sein, sonst ist es später nicht wiederzufinden.  

Die Date entry options müssen auf ein benutzerdefiniertes Format eingestellt werden, um unseren Gewohnheiten gerecht zu werden. „d.m.Y. H:i“ werden als 06.02.2014 17:30 angezeigt. Die all-day checkbox macht es später möglich, ganze Tage auszuwählen. Das Ganze wieder speichern.

Dann wird ein weiteres Feld für den Veranstaltungsort gebraucht. Das kann ein einfaches Textfeld sein. Weitere Text-Felder sollten eingerichtet werden: Veranstalter, Kategorie (dieses am besten als Auswahlfeld mit den vorgegebenen Kategorien).

Für die Weiterarbeit ist es sinnvoll, schon mal ein oder mehrere Testdaten anzulegen (Datei hinzufügen - Datum). So kann man bei der Erstellung des Kalenders überprüfen, ob die Einstellungen auch funktionieren.

Eine Kalender-Darstellung einrichten

Dazu wird über „Struktur“ der Menüpunkt „Views“ aufgerufen.

Dort erscheint ein Link: Add view from template. Ein Klick darauf führt zur Auswahl von verschiedenen voreingestellten Kalendern.

Wir brauchen “A calendar view of the 'field_date' field in the 'node' base table.” und klicken auf add. Dieser View bekommt den schönen Namen Calendar.

Voreinstellungen für die Darstellung von Monat, Woche, Tag und Jahr in Kalenderform sind bereits durch die Module vorgegeben. Ich bevorzuge eine tabellarische Darstellung, die im Folgenden erstellt wird.

Über das Feld hinzufügen eine neue Seite oder einen neuen Block erstellen.

Achtung: Unter Drupal 8 funktioniert die Kalendernavigation nur über die Ansicht "Seite"!

Als erstes sollte dem Display ein eindeutiger Name verpasst werden. Dazu auf das blau markierte "kein" klicken und den gewünschten Namen eingeben. Am besten gleich über copy and paste den Namen auch als Titel und Pfad vergeben. Im Beispiel „Termine der Stiftung Zukunft mit Kirche“  

Nun das Format festlegen. Dazu auf Calendar klicken und Tabelle auswählen. Vor dem Speichern auf This page (override) umstellen, damit nicht alle Darstellungen verändert werden.

Im folgenden Fenster können dann weitere Einstellungen gemacht werden, in der Regel kann aber die Voreinstellung übernommen werden.

Als nächstes werden die anzeigenden Felder (Fields) und ihre Reihenfolge festgelegt. Ich möchte das Datum als erstes stehen haben. Nach dem Klick öffnet sich ein Fenster mit allen Datenfeldern, die in Drupal angelegt sind. Je nach verwendeten Modulen können das viele sein. Wir brauchen: Inhalt: Titel und bestätigen mit apply. (This Page!). Ebenso ergänze ich die Felder Inhalt: body (Titel in Beschreibung ändern) und Inhalt: Veranstaltungsort. Über den Schalter "Reihenfolge ändern" kann ich abschließend einstellen, in welcher reihenfolge die Felder in dieser Ansicht dargestellt werden sollen.

Als nächstes stelle ich die Filter critera ein. Voreinstellung ist, dass das Datum veröffentlicht ist. Auch hier füge ich weitere Felder hinzu. Als erstes Inhalt: Typ. Im folgenden Detailfenster aktiviere ich „is one of“ Typ „Datum“. So werden im Kalender nur die Seiten angezeigt, die als Datum abgelegt wurden.  Ein weiterer Filter geht über das Feld „Inhalt Datum - start date“.  Hier stelle ich ein: Is greater than or equal to und enter a relative date. Für dieses gebe ich “now” ein. so werden auch die Stunden berücksichtigt. Alternativ wäre auch today möglich. Diesen Filter wende ich auf alle displays an.

Nun sollten im preview (unten auf der Seite) die Testdaten in der gewünschten Form erscheinen. Den View speichern.

Und die erzeugte Seite in ein Menü einbinden. Damit ist ein funktionsfähiger Kalender in der eigenen Homepage fertig und kann mit Daten gefüllt werden.      

Alternativ kann natürlich auch eine Kalenderdarstellung genutzt werden.

Das Kalender-Modul unter drupal 8 kann bislang (April 2020) noch kein Template aus dem Feld "Date_Range" erstellen.

Deshalb muss man anders vorgehen:

Eine neue Ansicht erstellen als Unformatierte Liste.

Das Ansichtsformat zum Kalender ändern.

Dann im Feld Zeilenansicht auf "Kalender Entities" umstellen.

Als nächstes muss ein Kontextfilter erstellt werden. Dazu den Button "Erweitert" öffnen udn "Kontextfilter hinzufügen klicken". Inhalt: node.field_zeitraum (year_month) konfigurieren: Vorgabewert bereitstellen: Calendar Current Date".

Für die Navigation muss noch der Kopfbereich gefüllt werden: "Kopfzeile" "hinzufügen" "Überschrift. {{arguments.field_zeitraum_value_year_month}}"