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:
FE-Ausgaben: Monats-Kalender, Monatsliste, Terminliste, Teaser
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¶
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¶
- 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
useLink¶
Property
useLink
Data type
boolean
Description
1/0: Geben Sie an, ob die Termingruppen-Namen in der Ausgabe verlinkt werden sollen oder nicht. Als Link werden die Angaben zur Termingruppe aus dem kOOL verwendet.
Default
0
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.dateLink¶
Property
list.dateLink
Data type
string
Description
Text zwischen Start- und Enddatum, falls beide dargestellt werden
Default
-
list.timeLink¶
Property
list.timeLink
Data type
string
Description
Text zwischen Start- und Endzeit, falls beide dargestellt werden
Default
-
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.dateLink¶
Property
monthlist.dateLink
Data type
string
Description
Text zwischen Start- und Enddatum, falls beide dargestellt werden
Default
-
monthlist.timeLink¶
Property
monthlist.timeLink
Data type
string
Description
Text zwischen Start- und Endzeit, falls beide dargestellt werden
Default
-
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 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
eglist.dateLink¶
Property
eglist.dateLink
Data type
string
Description
Text zwischen Start- und Enddatum, falls beide dargestellt werden
Default
eglist.timeLink¶
Property
eglist.timeLink
Data type
string
Description
Text zwischen Start- und Endzeit, falls beide dargestellt werden
Default