Zum Inhalt springen

calender base: Einzelansicht gestalten

Erstellt am 22. Oktober 2007 · 3 Antworten · letzte Antwort am 24. Oktober 2007

Tags: Kalender & Termine, Frage

joey24 ·

Hi,

beschäftige mich gerade seit 5 Tagen mit dem der mächstigen Extension Calender Base. Die Extension ist der absolute Hammer.

Jetzt in ich soweit, dass ich die Monatsansicht angepasst habe. Mit CSS ist das ja auch kein Problem.

Die Einzelansicht bereitet mir allerdings Schwierigkeiten.

Die Template Datei dazu beinhaltet bloß:

<!--event.tmpl-->
<div id="calendar-event">###EVENT###</div>
<div id="calendar-event-backlink">###BACKLINK###</div>
<!--/event.tmpl-->

Der dafür zuständige Typoscript code sieht folgendermaßen aus:

plugin.tx_cal_controller {
...
	view {
        ...
		event {
			eventTemplate = {$plugin.tx_cal_controller.view.event.eventTemplate}

			title_stdWrap {
				dataWrap = <div><label for="title">{LLL:EXT:cal/controller/locallang.xml:l_event_title}:</label>|</div>
			}

			startdate_stdWrap {
				dataWrap = <div><label for="startdate">{LLL:EXT:cal/controller/locallang.xml:l_event_startdate}:</label>|</div>
			}

usw.

Dann gibt es auch noch eine class.tx_cal_eventview.php diese ruft die Zeile

$rems['###EVENT###'] = $event->renderEvent();

auf. Hier sieht man, dass der Marker aus dem Template mit der Rückgabe von $event->renderEvent() ersetzt wird. Die Methode hab ich hier mal geposted:

	function renderEvent(){
		$d = nl2br($this->cObj->parseFunc($this->getDescription(),$this->conf['parseFunc.']));
		return '<h3>'.$this->getTitle().'</h3><font color="#000000"><ul>' .
				'<li>Start: '.gmdate ('H:i', $this->getStartHour()).'</li>' .
				'<li>End: '.gmdate ('H:i', $this->getEndHour()).'</li>' .
				'<li> Organizer: '.$this->getOrganizer().'</li>' .
				'<li>Location: '.$this->getLocation().'</li>' .
				'<li>Description: '.$d.'</li></ul></font>';
	}

Mein Problem ist, dass die Einträge nacheinander aufgelistet werden. Kurz mit einem Titel und dann der Wert in mit einer bestimmten AusgabeFormatierung. Es wird sogar eine CSS-Klasse darum gelegt. Ich möchte allerdings die Reihenfolge selber anordnen. bzw. auch so Konstrukete machen können wie:

<div class="header">
  ###STARTDATE### - ###ENDDATE###
  ###TITLE###
</div>

<div class="content">
 ###DESCRIPTION###
</div>

Also genauso wie bei der Listenansicht, oder Monatsansicht. Da hat es funktioniert. Warum hat man sich für die Einzelansicht was anderes ausgedacht? 😉

Kann mir da bitte jemand weiterhelfen?

Gruß, Joey