DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: kool_daten

Author:idefix
Created:2007-02-27T15:00:08
Changed:2010-01-22T13:32:29
Classification:kool_daten
Author:Renzo Lauper
Email:renzo.lauper@kircheonline.ch
Info 3:
Info 4:

EXT: kool_daten

Extension Key: kool_daten

Copyright 2007-2010, Renzo Lauper, <renzo.lauper@kircheonline.ch>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

EXT: kool_daten 1

Introduction 1

What does it do? 1

Screenshots 1

Users manual 2

Configuration 3

Reference 4

Tutorial 6

To-Do list 6

Changelog 6

Einleitung

Was macht diese Extension?

Diese Extension bildet die Schnittstelle zwischen der Webseite und kOOL - dem Kirchen-Tool. Ohne kOOL macht diese Extension keinen Sinn. Mehr über kOOL erfahren Sie unter http://www.churchtool.org .

Mit dieser Extension können Sie Termine aus der kOOL-Terminedatenbank auf Ihrer Webseite publizieren. Damit müssen die Termine nur einmal erfasst werden (im kOOL) und erscheinen auch auf der Webseite immer aktuell.

Zur Ausgabe stehen Ihnen verschiedene Möglichkeiten zur Verfügung:

  • Terminliste
  • Monatsliste
  • Monatskalender
  • Teaser
  • Tabelle
  • Liste nach Termingruppen
Voraussetzungen

Die wichtigsten Voraussetzungen zum Einsatz dieser Extension sind eine TYPO3-basierte Webseite und ein kOOL. Im Moment ist es zwingend, dass die kOOL-Datenbank auf dem gleichen Webserver liegt, wie das TYPO3, da die Extension direkt auf die Datenbank zugreifen können muss. Dabei muss der TYPO3-MySQL-Benutzer Zugriff auf die kOOL Datenbank haben.

kool_daten hängt von der Extension kool_base ab.

Zur Darstellung der Termin-Details in der Kalenderansicht, muss die Extension overlib installiert sein.

Screenshots

Einstellungen zum Plugin im TYPO3 mittels Flexforms:

img-1

FE-Ausgaben: Monats-Kalender, Monatsliste, Terminliste, Teaser

img-2 img-3

img-4 img-5 Benutzerhandbuch

Wenn alle Voraussetzungen gegeben sind, ist die Verwendung dieser Extension denkbar einfach.

((generated))

0. Extension installieren

Als erstes muss natürlich die Extension kool_daten installiert werden. Dazu muss lediglich die Extension über den TYPO3-Extension- Manager installiert werden, sonst nichts.

1. Plugin einfügen

img-6 Fügen Sie auf einer Seite im TYPO3 ein neues Inhaltselement vom Typ “kOOL Termine darstellen” ein. Dieses finden Sie auf der Liste der Inhaltselemente ganz unten im Bereich “Plugins”.

2. Einstellungen vornehmen
  • img-1 Layout: Wählen Sie die gewünschte Ausgabe der Termine:
    • Terminliste: Eine einfache Auflistung der nächsten x Termine.
    • Liste nach Monaten: Eine nach Datum sortierte Liste der Anlässe pro Monat für die nächsten x Monate
    • Kalender: Monatskalender aller Anlässe für die nächsten x Monate
    • Teaser: Eine Kurzdarstellung der nächsten x Anlässe
    • Tabelle: Sortierbare Tabelle
    • List nach Termingruppen: Analog zur Monatsliste aber gruppiert nach Termingruppen
  • Anzuzeigende Spalten: Wählen Sie die Spalten aus, die in der Liste, dem Teaser oder in der Monatsliste erscheinen sollen. Bei der Tabellen-Ansicht werden hiermit die dargestellten Spalten und beim Kalender die Details bei MouseOver definiert.
  • Termingruppen: Es werden nur die Termine der ausgewählten Termingruppen dargestellt. Ebenfalls erscheinen hier die Kalender, falls solche in kOOL definiert sind. Damit können alle Termine dargestellt werden, welche zu einer Termingruppe dieser Kalender gehören.
  • Termingruppen verlinken: Falls im kOOL für die Termingruppen eine URL eingetragen ist, werden mit dieser Option die Termingruppen-Namen auf der Webseite mit dieser URL verlinkt. Es ist auch möglich, E-Mail Adressen als URL im kOOL zu erfassen, welche dann als E-Mails Links dargestellt werden.
  • Globale Filter anwenden?: Falls Sie im kOOL einen globalen Filter definiert haben, können Sie diese hier ebenfalls anwenden lassen.
  • Folgende Filter anwenden: Diese Liste zeigt die mittels TS definierten Filter an, die angewandt werden können. Mehr zur Definition von Filtern siehe weiter unten.
  • Filter verknpüfen mit: Hier können Sie auswählen wie die verschiedenen Filter verknüpft werden sollen. Gemischt heisst, dass Filter gleichen Typs mit ODER und andersartige Filter unter einandern mit UND verknüpft werden.
  • Template-Datei: Wählen Sie eine HTML-Datei, die als Template (Vorlage) für die Darstellung dienen soll. Mehr dazu weiter unten.

In den verschiedenen Tabs können Sie noch feiner Einstellungen für das gewählte Layout vornehmen:

  • Liste

    • Nach dieser Spalte sortieren: Wählen Sie die Spalte aus, nach der die ausgegebenen Termine sortiert werden sollen.
    • Reihenfolge der Sortierung: Die Termine können auf- oder absteigend sortiert werden.
    • Anzahl Einträge pro Seite: Geben Sie an, wie viele Termine maximal in der Listenansicht dargestellt werden sollen. Diese Einstellung gilt über alle Termingruppen und nicht pro Termingruppe. Es werden nur heute und zukünftige Anlässe dargestellt.
  • Monatsliste

    • Anzahl Monate: Wählen Sie die Anzahl Monate, die dargestellt werden sollen.
    • Ab heute: Aktivieren Sie diese Option, damit die vergangenen Termin des aktuellen Monats ausgeblendet werden und nur Termine ab heute erscheinen.
  • Teaser

    • Nach dieser Spalte sortieren: Wählen Sie die Spalte aus, nach der die ausgegebenen Termine sortiert werden sollen.
    • Reihenfolge der Sortierung: Die Termine können auf- oder absteigend sortiert werden.
    • Anzahl Anlässe: Definieren Sie die maximale Anzahl Termine, die in der Teaser-Darstellung erscheinen sollen.
  • Kalender

    • Anzahl Monate: Definieren Sie die Anzahl Monate, die als Monatskalender ausgegeben werden sollen.
    • Details zu Anlässen anzeigen: Aktivieren Sie diese Option, um die Details zu einem Anlass als Overlib-Text anzeigen zu lassen. Diese Details erscheinen, sobald der Benutzer mit der Maus über den Termineintrag fährt.
    • Maximale Länger für Termingruppen-Name: Definieren Sie, nach wie vielen Zeichen der Termingruppen-Name abgebrochen werden soll. Dies wird dann mit zwei Punkten am Schluss dargestellt. Lassen Sie dieses Feld leer, um immer die ganzen Namen darzustellen.
  • Tabelle

    • Spalten sortieren lassen: Wenn Sie diese Option aktivieren, kann die Tabelle durch einen Klick auf den Spaltentitel sortiert werden.
    • Sortierreihenfolge limitieren: Wählen Sie hier aus, ob der Benutzer die Spalten ohne Limitierung sortieren darf. Oft kann es sinnvoll sein, die Limitierung auf z.B. nur Aufsteigend zu beschränken, damit es zu weniger Verwirrung in der Anwendung kommt.
    • Maximale Anzahl Einträge pro Seite: Anzahl Termine, die pro Seite dargestellt werden sollen
    • Vor-/Zurück-Links ausblenden: Damit werden die Links zum Blättern ausgeblendet, was bedeutet, dass man nur die oben angegebene Anzahl Termine sieht.
  • Liste nach Termingruppen

    Anzahl Termine pro Termingruppe: Definiert wie viele Termine pro Termingruppe dargestellt werden sollen.

Konfiguration

((generated))

TypoScript vs. Flexform-Werte

Alle Einstellungen, die über TS vorgenommen wurden, können mit den Werten in der Flexform überschrieben werden.

Weiter kann die Extension auch direkt als cObj über TypoScript ins Template eingebunden werden:

Beispiel: Verwendung im TS-Template

plugin.tx\_kooldaten\_pi1.layout = listplugin.tx\_kooldaten\_pi1.templateFile = fileadmin/template/kool\_ daten.tmplplugin.tx\_kooldaten\_pi1.list.numEvents = 3plugin.tx\_kooldaten\_pi1.useLink = 1plugin.tx\_kooldaten\_pi1.eventGroupIDs = 1,3,8,30,7,31temp.daten = COAtemp.daten.1 = TEXTtemp.daten.1.value = <div class="frontpage\_dates">Nächste Termine:</div>temp.daten.2 < plugin.tx\_kooldaten\_pi1

Reference

TypoScript:
layout

Property

layout

Data type

string

Description

Layout der Ausgabe. Mögliche Werte sind: teaser, list, monthlist, table

Default

templateFile

Property

templateFile

Data type

string

Description

Template-Datei, die zur Darstellung verwendet werden soll.

Default

EXT:kool_daten/pi1/template.tmpl

usePermFilter

Property

usePermFilter

Data type

boolean

Description

Definieren Sie, ob die globalen Filter aus kOOL auch hier angewandt werden sollen oder nicht.

Default

0

eventGroupIDs

Property

eventGroupIDs

Data type

string

Description

Kommagetrennte Liste der Termingruppen, für die Anlässe ausgegeben werden sollen. Die IDs der Termingruppen stehen bei den Termingruppen in Klammern.Für Kalender muss ein _CAL der ID vorangestellt werden, z.B. _CAL12.Um alle Termingruppen darzustellen, kann auch _all verwendet werden.

Default

overlibDefaults.

Property

overlibDefaults.

Data type

string

Description

Hier können Sie das Layout des Overlib-Divs definieren. Die möglichen Angaben entnehmen Sie der Dokumentation der Extension overlib oder direkt der Webpage von overlib.

Default

ol_fgcolor=”#eee”

ol_bgcolor=”#555”

[tsref:(cObject).tx_kooldaten_pi1]

TypoScript für Terminliste “filter”:

Hiermit können eigene Filter definiert werden, die im SQL-Query verwendet werden, um die Daten aus der kOOL-Datenbank auszulesen. Mehrere ausgewählte Filter mit der selben ID werden mittels OR verknüpft, Filter mit verschiedenen IDs mittels AND. Dies entspricht der Option “Gemischt” für die Verlinkung und kann in der Flexform geändert werden.

filter

Property

filter

Data type

int

Description

Muss 1 sein, damit Filter verwendet werden.

Default

0

filter.ID

Property

filter.ID

Data type

array

Description

Jeder Filter muss eine eindeutige ID haben (z.B. Integer) mit folgenden Einträgen:

- name: Name, der im BE in der Flexform-Auswahlliste erscheint

- sql: SQL-Befehl, der zur Filterung verwendet wird. Kann [VALUE] enthalten, welches mit dem entsprechenden Wert aus values ersetzt wird

- values: Mehrere Werte durch | getrennt. Für jeden Wert wird in der Flexform-Auswahlliste ein einzelner Eintrag erstellt.

Beispiel:

plugin.tx_kooldaten_pi1.filter = 1

plugin.tx_kooldaten_pi1.filter.1 {

name = Raum

sql = `room` = '[VALUE]'dbcol = room

values = Hauptsaal|Jugendraum|Cafeteria

}

Default

TypoScript für Terminliste “fields”:

Hiermit können weitere Spalten für die Darstellung definiert werden. Dies ist primär für die Tabellen-Darstellung sinnvoll, womit z.B. kombinierte Spalten möglich sind. Es kann aber auch für Liste oder Teaser verwendet werden. In diesen Layouts müssen im HTML-Template die entsprechenden Subparts ###SUBPART__USERFIELD_ID### eingefügt werden (es sind zwei “_” zwischen SUBPART und USERFIELD!)

fields.ignore

Property

fields.ignore

Data type

commalist

Description

Hiermit können einzelne Spalten deaktiviert werden, welche dann auch im BE nicht mehr ausgewählt werden können. Mehrere Einträge können durch Kommas getrennt werden.

Default

fields.add

Property

fields.add

Data type

boolean

Description

Muss 1 sein, damit weitere Spalten verwendet werden können

Default

1

fields.add.ID

Property

fields.add.ID

Data type

array

Description

Jede zusätzliche Spalte wird mit den folgenden Angaben definiert:

- name: Name, der im BE in der Flexform-Auswahlliste erscheint

- header: Titel dieser Spalte, wie sie z.B. als Spaltenüberschrift für die Tabelle verwendet werden soll

- output: Hier kann definiert werden, wie diese neue Spalte dargestellt werden soll. Es können Werte von den eigentlichen DB- Spalten ausgegeben werden, indem Platzhalter ###COLNAME### verwendet werden.

Beispiel:

plugin.tx_kooldaten_pi1.fields {

add = 1

add.datetime {

name = Datum und Zeit

header = Start

output = ###STARTDATUM###<br />###STARTZEIT###

}

}

Default

TypoScript für Terminliste “list”:
list.limit

Property

list.limit

Data type

int

Description

Anzahl Termine, die ausgegeben werden sollen. Es werden nur Termine mit Datum ab heute angezeigt.

Default

5

list.dateLayout

Property

list.dateLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung des Datums definiert.

Default

%A, %d. %B %Y

list.timeLayout

Property

list.timeLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung der Zeiten definiert

Default

%H:%M

list.sort

Property

list.sort

Data type

string

Description

Sortierung der Termine

Default

startdatum

list.sortOrder

Property

list.sortOrder

Data type

string

Description

Art der Sortierung der Termine

Default

ASC

list.forceColumns

Property

list.forceColumns

Data type

string

Description

Kommagetrennte Liste von Spalten, die für dieses Layout immer verwendet werden sollen, unabhängig von der Einstellung in FlexForm.

Default

TypoScript für Monatsliste “monthlist”:
monthlist.numMonths

Property

monthlist.numMonths

Data type

int

Description

Anzahl Monate, die ab und mit dem aktuellen dargestellt werden sollen.

Default

2

monthlist.startToday

Property

monthlist.startToday

Data type

boolean

Description

Alle vergangenen Termine ausblenden. Standard ist, dass der ganze aktuelle Monat angezeigt wird.

Default

0

monthlist.dateLayout

Property

monthlist.dateLayout

Data type

strftime

Description

siehe list

Default

%A, %d. %B %Y

monthlist.timeLayout

Property

monthlist.timeLayout

Data type

strftime

Description

siehe list

Default

%H:%M

monthlist.forceColumns

Property

monthlist.forceColumns

Data type

string

Description

Kommagetrennte Liste von Spalten, die für dieses Layout immer verwendet werden sollen, unabhängig von der Einstellung in FlexForm.

Default

TypoScript für Monatskalender “calendarBig”:
calendarBig.numMonths

Property

calendarBig.numMonths

Data type

int

Description

Anzahl Monate, die ab und mit dem aktuellen dargestellt werden sollen.

Default

2

calendarBig.showDetails

Property

calendarBig.showDetails

Data type

boolean

Description

1/0: Geben Sie an, ob die Details zu einem Anlass als Overlib-Text erscheinen soll, wenn der Benutzer mit der Maus über den Text fährt.

Default

1

calendarBig.titleLength

Property

calendarBig.titleLength

Data type

int

Description

Maximale Länge des Termingruppen-Namens. Falls ein Titel länger als der hier angegebene Wert ist, wird er abgeschnitten und dies mit “..” markiert.

Default

unbegrenzt (0)

calendarBig.forceColumns

Property

calendarBig.forceColumns

Data type

string

Description

Kommagetrennte Liste von Spalten, die für dieses Layout immer verwendet werden sollen, unabhängig von der Einstellung in FlexForm.

Default

TypoScript für Teaser “teaser”:
teaser.limit

Property

teaser.limit

Data type

int

Description

Anzahl Monate, die ab und mit dem aktuellen dargestellt werden sollen.

Default

5

teaser.dateLayout

Property

teaser.dateLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung des Datums definiert.

Default

%d.%m.

teaser.timeLayout

Property

teaser.timeLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung der Zeit definiert.

Default

%H:%M

teaser.sort

Property

teaser.sort

Data type

string

Description

Sortierung der Termine

Default

startdatum

teaser.sortOrder

Property

teaser.sortOrder

Data type

string

Description

Art der Sortierung der Termine

Default

ASC

teaser.combineEventGroups

Property

teaser.combineEventGroups

Data type

boolean

Description

1/0: Damit können Termingruppen zusammengefasst dargestellt werden. Hier ein Beispiel:

teaser.combineeventgroups = 1

teaser.combineeventgroups.1.ids = 2,6,17

teaser.combineeventgroups.1.url = http://example.com

teaser.combineeventgroups.1.title = Gottesdienste

teaser.combineeventgroups.2.ids = usw.

Mit der ersten Zeile wird die Zusammenfassung überhaupt aktiviert. In der zweiten Zeile wird eine neue Zusammenfassung für die Termingruppen mit den IDs 2, 6 und 17 gestartet, und die nächsten beiden Zeilen definieren die URL und den Titel dieser “neuen” zusammengefassten Termingruppe.

Default

0

teaser.foceColumns

Property

teaser.foceColumns

Data type

string

Description

Kommagetrennte Liste von Spalten, die für dieses Layout immer verwendet werden sollen, unabhängig von der Einstellung in FlexForm.

Default

TypoScript für Tabelle “table”:
table.fields

Property

table.fields

Data type

intlist

Description

Eine Liste der Spalten, die angezeigt werden sollen. Mögliche Werte sind:

date, time, datetime, event, comment, eventcomment, room, details

Default

table.dateLayout

Property

table.dateLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung des Datums definiert.

Default

%d.%m.%y

table.timeLayout

Property

table.timeLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung der Zeit definiert.

Default

%H:%M

table.combineEventGroups

Property

table.combineEventGroups

Data type

boolean

Description

1/0: Damit können Termingruppen zusammengefasst dargestellt werden. Hier ein Beispiel:

teaser.combineeventgroups = 1

teaser.combineeventgroups.1.ids = 2,6,17

teaser.combineeventgroups.1.url = http://example.com

teaser.combineeventgroups.1.title = Gottesdienste

teaser.combineeventgroups.2.ids = usw.

Mit der ersten Zeile wird die Zusammenfassung überhaupt aktiviert. In der zweiten Zeile wird eine neue Zusammenfassung für die Termingruppen mit den IDs 2, 6 und 17 gestartet, und die nächsten beiden Zeilen definieren die URL und den Titel dieser “neuen” zusammengefassten Termingruppe.

Default

0

table.sort

Property

table.sort

Data type

boolean

Description

Definieren Sie, ob die Tabelle nach den verschiedenen Spalten sortiert werden kann oder nicht.

Default

0

table.limit

Property

table.limit

Data type

int

Description

Maximale Anzahl Termine pro Seite

Default

20

table.header.useImages

Property

table.header.useImages

Data type

boolean

Description

Entscheiden Sie, ob für die Spaltenüberschriften Bilder oder Text verwendet werden sollen

Default

0

table.forceColumns

Property

table.forceColumns

Data type

string

Description

Kommagetrennte Liste von Spalten, die für dieses Layout immer verwendet werden sollen, unabhängig von der Einstellung in FlexForm.

Default

TypoScript für Liste nach Termingruppen “eglist”:
eglist.numEvents

Property

eglist.numEvents

Data type

int

Description

Anzahl Termine pro Termingruppe

Default

5

eglist.dateLayout

Property

eglist.dateLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung des Datums definiert.

Default

%A, %d. %B %Y

eglist.timeLayout

Property

eglist.timeLayout

Data type

strftime

Description

strftime-Wert, der die Formatierung der Zeit definiert.

Default

%H:%M

Changelog

See file ChangeLog.

img-7 EXT: kool_daten - 7