Einrichtung vom Kalender "Calendar Base" (cal)

Die wohl beste Kalender-Extension ist Calendar Base (cal) von Mario Matzulla. Sie bietet alles, was man für die Darstellung eines Kalenders und den Terminen benötigt, und darüber hinaus noch viele Extras.

Seit Kurzem wird Calendar Base auch von der ECT (Extension-Coordination-Team) unterstützt, so das Calendar Base auf dem besten Weg ist, die offizielle Typo3 Kalender-Extension zu werden.

Dieses Tutorial beruht auf der Version 0.12.0
Ein Wiki zum Kalender gibt es hier - dort ist auch ein Bugtracker, Source-Viewing und vieles andere Nützliche rund um den Kalender. Die aktuellste Version ist im SVN erhältlich.

Hier gehts zum Online-Beispiel 

[Da hier immer die aktuellste Entwicklerversion aufgespielt wird, kann es durchaus zu Unregelmässigkeiten kommen, Es dient uns auch zur Überprüfung der Funktionen]

Installation und Einrichtung

Als erstes installieren wir die Extension im Extensionmanager, wir akzeptieren die vorgeschlagenden Einstellungen und klicken auf Update.

Nun wollen wir unsere Daten vorbereiten. Wir erzeugen einen Sysordner für die Kalenderdaten. Wir wechseln zur Listenansicht und klicken auf "Neuen Datensatz anlegen". Wir erhalten folgende Auswahl:

  • Kalender (Ausnahme) Event - das ist ein (Ausnahme) Termin
  • Calendar - das ist ein einzelner Kalender
  • Kalender Kategorie - das sind die Kategorien
  • Kalender Ausnahme Eventgruppe -
  • Kalender Ort - alle vordefinierten Veranstaltungsorte
  • Kalender Organisation - alle vordefinierten Veranstalter

Das es die Datensätze Calendar gibt, hat den Grund, das wir z.B. einen öffentlichen Kalender haben, und dann einen Kalender, der einer FE-Usergruppe zugeordnet ist. Loggt sich ein User dieser Gruppe ein, so werden diese Kalenderdaten sichtbar. Theoretisch ist es also möglich, beliebig viele Kalender parallel zu betreiben.

Wir wollen einen öffentlichen Kalender erstellen und legen also einen Datensatz vom Typ Calendar an. Wir vergeben einen Titel und speichern ihn. Wir sehen auch, das wir unter Owner eine Benutzergruppe festlegen können. Wählen wir keine aus, so ist der Kalender öffentlich.

Veranstaltungsort
Veranstaltung Organisator

Da wir häufig wiederkehrende Veranstaltungsorte und Veranstalter haben, legen wir diese auch gleich an und nehmen so viele Details wie möglich mit auf.

Nun legen wir eine Kategorie an. Da wir einige Konzerte darstellen wollen, nennen wir die Kategorie Konzerte. Als Headerstil tragen wir konzert-h und als Bodystil konzert-b ein. Das sind die CSS-Auszeichnungen, die wir für das CSS-Design gebrauchen können. Wir speichern die Kategorie ab.

Es gibt default-Stile, die im mitgelieferten CSS bereits formatiert sind:

default_catheader
green_catheader
orange_ccatheader
pink_catheader
red_catheader
yellow_catheader
grey_catheader

Nun sind wir soweit, das wir einen Termin anlegen können. Wir legen einen Datensatz vom Typ Kalender Event an und tragen unsere Details ein. Wir müssen darauf achten, das wir einen Kalender auswählen. Ort und Veranstalter übernehmen wir aus der Liste oder tragen es ein.

Wichtig:
Wenn ein Anfangsdatum eingegeben wurde, muss ein Enddatum eingegeben werden.
Wenn eine Anfangszeit eingegeben wurde, muss eine Endzeit angegeben werden.

Geben wir keine Uhrzeiten an, so gilt der Termin als allday.

Anzeige

Wir wollen jetzt wir den Kalender in unsere Seite integrieren. Als erstes kopieren wir alle Templates aus typo3conf/ext/cal/template nach fileadmin/templates/cal, um sie später bearbeiten zu können. Für den Anfang arbeiten wir mit den mitgelieferten Templates.

Als erstes wechseln wir ins root-Template und fügen unter Include static (from extensions) die 2 Einträge hinzu (siehe Bild rechts).

Wir gehen auf die Seite, wo der Kalender angezeigt werden soll und fügen Ein Inhaltselement vom Typ Kalender ein. Dort geben wir dem Kalender einen Namen - dieser wird oben angezeigt. Als Ausgangspunkt wählen wir unseren Sysordner mit den Kalendereinträgen. Wir speichern und betrachten das Ergebnis im Frontend und sollten folgende Ausgabe bekommen:

Hier noch einige Tipps für Termine Fallstudien):

Wollen wir einen mehrtägigen Termin eingeben
Wir geben Anfangs- und Enddatum ein (optional Anfangs- und Endzeit).

Wir haben einen mehrtägigen Termin, der jeden Monat stattfindet
Wir geben Anfangs- und Enddatum ein, wechseln auf den Reiter Recurrence, wählen als Frequenz Monthly.
Soll der Termin 4mal stattfinden, tragen wir bei Anzahl 4 ein. Alternativ können wir auch das Enddatum eintragen. 

,

Bei Frequenz haben wir mehrere Möglichkeiten der Definition. So können wir die Wochentage angeben (mo,tu,we,th,fr,sa,su). Es ist auch möglich, den jeweils 3. Freitag des Monats zu wählen, dazu gibt man 3fr ein.
Mit Intervall können wir den Abstand gemäss der ausgewählten Frequenz eingeben. Beispielsweise geben wir als Frequenz Weekly an und wählen als Intervall 2. Nun findet der Termin alle 2 Wochen statt.

Ausnahmeevents - das sind Events, die man als Ausnahme definieren kann. Wir erzeugen z.B. ein Ausnahmeevent Feiertage und können bei mehrtägigen Terminen diese Feiertage als Ausnahmeevent hinzufügen. Der Termin wird nun an einem Feiertag unterbrochen.

Spezialelemente

Wir möchten einen statischen Minikalender und eine statische Liste mit den Terminen des aktuellen Monats auf der linken Seite angezeigt bekommen. Hierzu benötigen wir 2 Templates und ein bischen Typoscript. Die beiden Elemente können dann beliebig platziert werden. Hier der benötigte Code:

TypoScript
lib.minical >
lib.minical < plugin.tx_cal_controller
lib.minical {
	pages = PID_DES_SYSFOLDERS
	view {
		defaultView = month 
		month.monthTemplate = fileadmin/templates/cal/monthmini.tmpl
		calendar.defaultUid = PID_DES_SYSFOLDERS
		isStatic = 1
		day.dayViewPid = PID_DER_KALENDERSEITE/TAGESANSICHT
		weekStartDay = Sunday
	}	
}

lib.minicallist >
lib.minicallist < plugin.tx_cal_controller
lib.minicallist {
	pages = PID_DES_SYSFOLDERS
	view {
		defaultView = list
		list.listTemplate = fileadmin/templates/cal/monthteaser.tmpl		
		calendar.defaultUid = PID_DES_SYSFOLDERS
		isStatic = 1
		event.eventViewPid = PID_DER_KALENDERSEITE/EVENTANSICHT
		weekStartDay = Sunday
	}	
}
die Templates monthmini.tmpl und monthteaser.tmpl
<!-- monthmini.tmpl -->
<div id="minical" align="center">###MONTH_SMALL|+0### </div>
 
 
<!-- monthteaser.tmpl -->
<dl id="calteaser">
	<!-- ###SHOWBOTTOMEVENTS### start -->
	<!-- ###SHOWBOTTOMEVENTS_ODD### start -->
	<dt class="odd">###DAYLINK###<span class="V9G">###START_TIME###</span></dt>
	
	<dd class="odd">###EVENT_TEXT###</dd>
 
	
	<!-- ###SHOWBOTTOMEVENTS_ODD### end -->
	<!-- ###SHOWBOTTOMEVENTS_EVEN### start -->
	<dt class="even">###DAYLINK###<span class="V9G">###START_TIME###</span></dt>
	
	<dd class="even">###EVENT_TEXT###</dd>
	<!-- ###SHOWBOTTOMEVENTS_EVEN### end -->
	<!-- ###SHOWBOTTOMEVENTS### end -->
</dl>

FE-Edit

Der Kalender erlaubt es, das FE-User im Frontend neue Termine eingeben können, sowie bestehende Termine editieren können. Dies ist entweder über die ID's der User oder über ID's von Usergruppen einstellbar.

Hierzu legen wir eine Usergruppe an, die diese Möglichkeit bekommen sollen.
Unsere Usergruppe heisst calendar und hat die ID 3. Wir erstellen einen User und geben ihm die Gruppe calendar.

Nun wollen wir der Usergruppe mit der ID 3 das editieren erlauben, dazu benötigen wir ein bischen Typoscript:

TypoScript
plugin.tx_cal_controller {
	rights {
		edit = 1
		admin.group = 3
	}
}

mit edit=1 erlaubt man generell das Editieren, über admin.group wird die Gruppe zugewiesen. Hier kann man auch eine Kommaliste der gewünschten Gruppen angeben. Möchte man das auf Userebene, so greift die Anweisung
admin.user = ...

Im Online-Beispiel habe ich einen Admin-User angelegt, wer sich also das FE-Editing anschauen will, kann das mit dem user calendar / calendar tun.

Wie der Name schon sagt, hat admin die vollen Rechte. Möchte na z.B. einer Gruppe nur das Anlegen neuer Termine erlauben, so erreicht man das mit folgender Einstellung:

TypoScript
plugin.tx_cal_controller {
	rights {
		edit = 1
		create.event.enableAllFields.group = 3
	}
}

Wenn man alle Einstellungen feiner gestalten möchte, so empfiehlt sich, die komplette  setup.txt  ins TS zu übernehmen und entsprechend anzupassen.

Helfer

Um leichter Datumsangaben zu tätigen, empfiehlt sich die Extension Date2Calendar (erotea_date2cal), für die FE-Eingaben wird die Extension Date selector library (rlmp_dateselectlib) benötigt.

Realurl

Calendar base lässt sich auch mit realurl konfigurieren. Hierzu muss man nur folgenden Code in die postVarSets-Konfiguration in der localconf.php:

PHP
'cal'=> array(
	array(
		'GETvar' => 'tx_cal_controller[view]'
	),
	array(
		'GETvar' => 'tx_cal_controller[getdate]'
	),
	array(
		'GETvar' => 'tx_cal_controller[gettime]'
	),
	array(
		'GETvar' => 'tx_cal_controller[lastview]'
	),
	array(
		'GETvar' => 'tx_cal_controller[type]'
	),
	
	array(
		'GETvar' => 'tx_cal_controller[category]',
		'lookUpTable' => array(
			'table' => 'tx_cal_category',
			'id_field' => 'uid',
			'alias_field' => 'title',
			'addWhereClause'  => ' AND NOT deleted',
			'useUniqueCache' => 1,
			'useUniqueCache_conf' => array(
				'strtolower' => 1,
				'spaceCharacter' => '_',
			 ),
		 
		),
	),
	array(
		'GETvar' => 'tx_cal_controller[uid]',
		'lookUpTable' => array(
			'table' => 'tx_cal_event',
			'id_field' => 'uid',
			'alias_field' => 'title',
			'addWhereClause'  => ' AND NOT deleted',
			'useUniqueCache' => 1,
			'useUniqueCache_conf' => array(
				'strtolower' => 1,
				'spaceCharacter' => '_',
			),
		),
	),
	array(
		'GETvar' => 'tx_cal_controller[gettime]'
	),
	array(
		'GETvar' => 'tx_cal_controller[preview]'
	),
	
),

SimulateStaticDocuments

Für eine Konfiguration mit simulateStaticDocuments kann folgender Code verwendet werden (incl. tt_news-Konfiguration)

TypoScript
simulateStaticDocuments_noTypeIfNoTitle =1
simulateStaticDocuments_pEnc = md5
simulateStaticDocuments_pEnc_onlyP = cHash,L,no_cache,tx_indexedsearch[ext],tx_ttnews[backPid], tx_ttnews[tt_news], tx_ttnews[pS], tx_ttnews[pL], tx_ttnews[arc], tx_ttnews[cat], tx_ttnews[pointer], tx_ttnews[swords], tx_cal_controller[view], tx_cal_controller[getdate], tx_cal_controller[lastview], tx_cal_controller[type], tx_cal_controller[category], tx_cal_controller[uid], tx_cal_controller[gettime], tx_cal_controller[preview]
simulateStaticDocuments_addTitle = 35

MINIFAQ

Warum werden meine Events nicht angezeigt ?
Ein häufiger Fehler, wenn man vergisst Enddatum einzugeben. Gibt man eine Anfangszeit ein, muss auch eine Endzeit eingegeben werden

Was läuft schief ? Ich habe tt_address für Orte und/oder Veranstalter eingetragen
tt_address muss vor cal installiert werden, da sonst u.U. tt_address nicht vollständig ist (z.B. das Feld uid fehlt)

Beim FE-Create werden die Events als hidden abgespeichert. Wie kann ich das umstellen ?
plugin.tx_cal_controller.rights.create.event.fields.allowedToCreateHidden.default = 0

 

639 Kommentare
#91 Martin Eller schrieb am 06.03.2007 13:07

Vielen Dank für das Tutorial.

Leider ist es so, dass die Umlaute korrekt dargestellt werden. Es geht hierbei ausschließlich um die Umlaute der cal Extenstion. Explizit der Monat März er zeigt sich als März.

 

Seitencode:

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-DE" lang="de-DE">

<head>

<meta http-equiv="Content-Type" c"text/html; charset=utf-8" />

 

 

Liegt das an UTF8?

#92 Martin Eller schrieb am 06.03.2007 13:35

Ich habe nocheinmal alles Überprüft:

in der shell:

 

locale -a |grep de_DE

de_DE

de_DE.iso88591

de_DE.iso885915@euro

de_DE.utf8

de_DE@euro

 

 

config.locale_all = de_DE.utf8 stellt Umlaute falsch da.

 

config.locale_all = de_DE@euro stellt die Umlaute richtig da.

 

UTF8 sollte jedoch auch mit dieser Extension funktionieren, oder?

#94 steffen schrieb am 06.03.2007 14:16

die Anzeige März ist utf8.

Liegt hier eine debug- oder Fehlermeldung vor ? Wenn also vor dem Header was ausgegeben wird, dann sieht es so aus.

Leider gibts hier keine allgemeingültigen Aussagen, da jeder Server anders konfiguriert ist, ich habe cal aber auch auf mehreren Installationen mit utf8 laufen, meist mit de_DE.utf8

#95 Steffen Thierock schrieb am 07.03.2007 09:34

Bei mir funktioniert das auch nicht mit den Umlauten - habe auch alles auf utf-8. Das ist aber nur bei dieser Ext. so - bei tt_news z.B. wird "März" richtig dargestellt

 

Nachdem ich mir die neueste Version von cal (6.3.) aus dem Repository geladen habe werden meine Termine nicht mehr angezeigt.

#96 steffen schrieb am 07.03.2007 09:42

wenn alles nicht geht sollte man sich an den Provider wenden und die richtige locale-Einstellung erfragen.

 

Zum Update bitte #81 beachten.

#90 webby schrieb am 06.03.2007 08:57

hi!

 

ich habe (auch mit der aktuellen version) probleme termine über das FE zu verstecken... der punkt 'hide' wird regelrecht ignoriert? oder mache ich etwas falsch?

 

danke!

#88 KGS schrieb am 02.03.2007 16:22

Zwei Verständnis-Fragen zu cal 0.14.1>

 

1. Muß das Typoscript für die Minical-Ansichten in die TS-Seiteneigenschaften oder ins Setup des Main-Template

 

2. Die Admin-Gruppe für Frontend-Editing ist das eine BE-Gruppe oder tatsächlich eine FE-Gruppe?

 

Rolleyes

#89 steffen schrieb am 02.03.2007 17:43

1) alles kommt ins Setup (Main Template oder ExtTemplate)

 

2) FE-Edit erwartet FE-Gruppe (ist doch eigentlich logisch, oder ? smile )

#86 Sabine schrieb am 01.03.2007 16:29

Hallo,

 

ich habe in meinem Kalender gut 500 Events angelegt. Wenn ich nun ein Event erzeugen möchte, in dem ich ein anderes kopiere und wieder einfüge (weil Wortlaut, Organizer, Location ähnlich), wird bei allen Events das Startdatum auf 01.01.1970 zurückgesetzt. Gut, es gibt Backups, aber es nicht wirklich lustig.

 

Ich benutze momentan noch Version 0.12, Termin für Update auf 0.14 steht aber schon fest. Kann jemand ähnliches berichten und weiß evtl. eine Lösung?

 

Danke und viele Grüße

Sabine

#87 steffen schrieb am 02.03.2007 00:20

also das hab ich noch nie gesehen - mach dringend ein Update zwinker

#83 klaus schrieb am 01.03.2007 10:36

Hallo Steffen,

 

im pagebrowser wird ja über das list-template page und of ausgegeben. Wäre das nicht besser, das auch wie die anderen Texte über locallang einzubinden. Ich habe ja keine Ahnung wie das geht, aber dann könnte man auch Übersetzungen anwenden...

 

So kann ich natürlich im template Seite von eingeben, aber das ist ja dann für die englische Übersetzung nicht so toll.

 

Das nur als Anregung

 

Gruß

klaus

#84 steffen schrieb am 01.03.2007 10:43

Hi,

 

das ist im aktuellen svn schon drin, auserdem kann man mit pagesCount einen Range bestimmen.

siehe www.sk-typo3.de/Listen-Ansicht.248+M5e02cda78b5.0.html

#85 klaus schrieb am 01.03.2007 14:43

cool,

 

habs auch umgesetzt Big Grins

#81 steffen schrieb am 27.02.2007 23:06

folgendes ist bei Benutzung der neueren nightlyBuilds zu beachten:

 

- Das CSS muss im Root-Template unter include Static neu hinzugefügt werden, da der Pfad sich geändert hat.

 

- Alle Zuweisungen für tx_cal_controller müssen vor dem lib.xxx-Objekt passieren, damit sie auch für dieses Objekt gelten

 

- Alle Contentelemente mit Kalender müssen die PID neu zugewiesen bekommen, da sich die Zuweisung geändert hat.

#69 klaus schrieb am 26.02.2007 11:41

Hallo Steffen und Team,

toller Kalender Big Grins

 

Kleine Frage noch. Habe den nightly build vom 26.2. installiert und alles nach einigem probieren hinbekommen.

 

jetzt kann man ja wohl auch die Endzeit weglassen und es wird nur die Startzeit angezeigt. Das ist echt klasse für meine Bedürfnisse.

 

Gibt es auch die Möglichkeit wie beim Datum den Gedankenstrich zwischen Start- und Endzeit automatisch generieren, bzw. wegzulassen, wenn es keine Endzeit gibt?

 

Gruß

klaus

#73 steffen schrieb am 26.02.2007 18:05

das geht über Typoscript und stdWrap, ich schau mal nach und poste den Schnipsel zwinker

#76 klaus schrieb am 27.02.2007 09:10

Hallo Steffen,

 

du hast mich schon auf den Weg gebracht.

Hier für alle, die das auch wollen der Code-Schnipsel:

 

plugin.tx_cal_controller.view.list.list.endtime_stdWrap {

noTrimWrap = | - ||

required = 1

}

#77 klaus schrieb am 27.02.2007 10:21

mir ist ein Fehler unterlaufen:

 

natürlich ist im typoscript-Schnipsel ein list zuviel ...

 

plugin.tx_cal_controller.view.list.endtime_stdWrap

 

ist richtig

#68 Kai schrieb am 26.02.2007 06:33

Und hier wird es seltsam: Seit dem Update auf den Nightly Build wird auch das temporäre Typo3-Stylesheet nicht mehr eingebunden, obwohl unter dem angegebenen Pfad vorhanden und die angefragten Klassen definiert. ???

#74 Kai schrieb am 27.02.2007 07:12

Korrektur: Stylesheet wird doch eingebunden. (Rausnehmen aus den statics bringt optische Veränderung). Aber die Listview zeigt z. B. keine farbliche Unterlegung jedes zweiten Beitrags. Das ist doch auch über's Stylesheet definiert? Woran kann das liegen?

#75 klaus schrieb am 27.02.2007 08:30

die farblichen Markierungen der Liste befinden sich nicht im Stylesheet, sondern im template selbst ...

 

Gruß

klaus

#78 Kai schrieb am 27.02.2007 10:31

Hallo!

Nicht mehr beim aktuellen Build, da liegt die Farbe im CSS in der Klasse "even". Das hat mich jetzt aber auf eine Spur gebracht: Ich habe mal das CSS auf Validität prüfen lassen. Dabei bekomme ich knapp 30 CSS-Einlesefehler, u. a. für z. B. "even", d. h. die farbliche Unterlegung. Ich checke heute abend mal, ob mein eigenes und das Typo3-Stylesheet hier durch gleiche Benennungen konfligieren. Sonst schreie ich nochmal um Hilfe.

#79 steffen schrieb am 27.02.2007 10:35

Hi Kai,

 

Ben van't Ende arbeitet im Moment an den Templates + CSS, um es mehr in Richtung barrirefrei zu bekommen, da kann es gut sein, das dort Fehler drin sind.

Wenn Du Korrekturen hast, wäre es schön, wenn Du sie mir zumailen könntest an info@sk-typo3.de

Danke.

#80 Kai schrieb am 27.02.2007 17:57

Ist gelöst. Habe Dir eine Mail geschrieben, ist in drei Minuten zu beheben.

#67 Mario schrieb am 25.02.2007 20:04

Danke für das Tutorial.

Ich möchte gern die Listenansicht von der Calendar Base so umsetzen, wie ihr das hier im Online-Beispiel gemacht habt. Leider bin ich auch noch ziemlicher Typo3-Neuling. Installieren konnte ich die Ex. schon( dank Anleitung).

 

Meine Frage: Wie bekommt ihr die oberen Zeilen hier hin -->

-------------------------

Calendar Base

 

Page 1 of 5 12345

25.Februar 2007 - 25.August 2009

 

Februar 2007

-------------------------

 

Bei mir steht da nur eine Angabe der tmpl-Dateien -->

 

-------------------------

 

Page ###PAGE### of ###PAGETOTAL### ###PAGES###

--- Event ---

--- Week ---

--- Month ---

###HEADING###

 

Jahrestagung DGPI

Mai 10 Mai 12

Tagung

--------------------------

 

Außerdem schreibt Typo3 die Datumsangabe nicht so wie bei euch mit Datum aus (siehe oben).

Habe ich den TS-Code vielleicht falsch eingefügt? (habe ihn zum MainTemplate dazu geschrieben - auf root...also global-->kein extra extension template)

 

Den Konfigurationscode lt. eurer Beispielseite hab ich eigentlich so umgesetzt.

#70 klaus schrieb am 26.02.2007 14:50

#Mario,

 

hast du den typoscriptcode der Demoseite eingebunden?

 

plugin.tx_cal_controller.view{

#pageBrowser

list.pageBrowser=1 list.pageBrowser.recordsPerPage=10 list.pageBrowser.actPage_stdWrap.wrap=| list.pageBrowser.pages_stdWrap.wrap=|

list.enableMonthWrapper = 1

}

 

bei mir hat es damit geklappt.

Ich habe die aktuelle nightbuild vom 26.2. im Einsatz.

 

Ergebnis unter:

cms.rz.uni-ulm.de

#93 Christian schrieb am 06.03.2007 14:08

Hallo,

 

aktuell setze ich die Version 0.14.1 ein. Wenn ich nun im FE ein Event hinzufüge, wird dieses zweimal gespeichert und natürlich im Kalender auch zweimal angezeigt. Hat jemand eine Idee voran das liegen könnte? Bin über jeden Hinweis dankbar.

 

Viele Grüße

Christian

#71 klaus schrieb am 26.02.2007 15:18

#Mario,

 

ich habe noch etwas vergessen:

 

Seite ###PAGE### von ###PAGETOTAL### ###PAGES###

 

das sollte noch zu Beginn deinens Listentemplates rein.

 

Und oben, da es mein zweiter Post hier ist, sind die typoscript Zeilen in eine zeile gerutscht. Immer bei list. musst du eine neue Zeile beginnen. Sorry f�r das.

 

Gru�

klaus

#146 Mario schrieb am 30.03.2007 17:27

Danke für die Hilfe,

 

leider, leider funktioniert es immer noch nicht. Ist sicher ein Fehler von mir Redface

 

Diese Pagebrowser-Zeilen sind gemacht worden. Habe allerdings diese Version hier von sk-typo3.de genommen:

 

 

ist sicher nur noch css-formatiert. Leider überträgt Typo3 nicht wirklich die Seitenanzahlen bzw. Monatsüberschriften. Die Events stimmen aber.

 

Was kann ich noch tun?

#64 Kai schrieb am 25.02.2007 01:18

Hallo!

Ich versuche den Kalender an meine Bedürfnisse anzupassen, und natürlich fluppt es nicht ganz ... Mr. Green Folgendes Problem und folgende Lösungsidee, von der ich gerne wüsste, ob das funktionieren wird (ich kann kein Wort PHP, deshalb hätte ich gerne berufene Einschätzung, damit ich nicht sinnlos rumprobiere.)

Aaalso:

- Ich habe in einer Listenansicht Termine, die an einem Abend beendet sind, und welche, die über mehrere Tage gehen.

- Bei den 1-Abend-Termine ist Enddatum = Startdatum, und beides wird angezeigt => sieht nicht gut aus.

- Auskommentieren kann ich das Enddatum nicht, weil es dann bei den mehrtägigen Terminen fehlt.

- Der Vorschlag, in so einem Fall einfach kein Enddatum zu setzen, ist, so weit ich das blicke, von den Entwicklern abgelehnt, weil das dem iCal-Standard widerspricht.

- Eine php-Weiche zur Darstellung bei abweichenden und Unterdrückung bei gleichen Daten kann ich nicht ins Template setzen, weil das nicht geparst wird.

- Meine Lösungsidee: Im Script, das die Daten an das Template gibt, könnte man doch noch eine zusätzliche Variable IfEnddatum erzeugen. Wenn Enddatum = Startdatum, dann IfEnddatum leer lassen, wenn Enddatum =/ Startdatum, dann kriegt IfEnddatum den Inhalt "bis Enddatum". Das müsste doch ohne Probleme mit dem iCal-Standard vereinbar sein. Und ins Listendarstellungs-Template setze ich dann einfach statt Enddatum IfEnddatum ein und habe die Darstellung, die ich möchte: Gar nichts bei gleichen Daten, "bis Enddatum" bei abweichenden.

 

Geht das, oder habe ich irgendwo einen Denkfehler?

#65 steffen schrieb am 25.02.2007 09:41

Du kannst das Enddatum ausblenden, wenn es gleich dem Startdatum ist. Das geht mit der Anweisung:

 

tx_cal_controller.view.list.dontShowEndDateIfEqualsStartDate = 1

 

das geht natürlich für jede View.

#66 Kai schrieb am 25.02.2007 19:06

Klappt nicht Frown

 

- Typo3 4.0.4

- Calendar Base nightly build von heute

- Alle vorgeschlagenen Extensions installiert

- Alle extension statics eingebunden.

- Zeile sowohl im Setup als auch bei den Constants als auch im TypoSkript der Seite mit dem Kalender ausprobiert.

#82 Kai schrieb am 28.02.2007 07:01

Big Grins Klappt jetzt dank Steffens Tipps vom 27.2.07

einen Kommentar schreiben
Typo3