Zum Inhalt springen

Calendar Base - Mini view

Erstellt am 22. August 2006 · 54 Antworten · letzte Antwort am 24. Mai 2007 · Seite 1 von 3

Tags: Frage

maudi ·

moin moin,

also bei mir scheint auch (immernoch) der Wurm drin zu sein. Mal sehen, ob wir ihn vielleicht gemeinsam finden *hoff*:
Mein Primärziel ist es eigentlich eine mini Eventliste darzustellen (also den minitheaser) aber auch der Minical wird nicht angezeigt.

Typo 4.0.1
Calendar Base (cal) 0.13.1

Seitenbaum:
Home(47)
**Events(22)
SysCalendar (53) <-- versteckt [dort liegt alles drin]

Auf Home(47) und Events (22) habe ich jeweils ein Plugin eingefügt und die Events werden auch in der Mitte angezeigt. Nun möchte ich diese in die linke Spalte "verbannen" und habe das Tut durchgeführt.

Ich habe den TSCode ins Haupttemplpate eingefügt.
Habe calendar.defaultUid und pages auf 53 gesetzt (SysCalendar)
Habe day.dayViewPid = 22 gesetzt (Frage: Heißt "Kalender eingefügt" = Plugin auf der Seite??)

Habe die 2 tmpl Dateien angelegt, Code reinkopiert und unter fileadmin/templates/cal/ abgelegt.

Habe mal das Cal-Plugin von Home(47) entfernt ... immer noch nichts zu sehen 🙁

Muss ich im Haupttemplate in der linken Spalte noch einen Marker setzen? (Oder woher weiß T3, dass der Cal genau dorthin soll?)

Immernoch viel zu viele ???? ... hoffentlich verschwinden die bald, denn mir gefällt die Ext cal sonst richtig gut.

Freue mich über jeden Tipp ... damit das "Ding" endlich "loslaufen" kann 😉

steffenk ·

vll liegts ja an der Zuweisung.

Wenn man das Objekt hat, muss man es auch einem Marker zuweisen, also z.B.

page.10.marks.MINICAL < lib.minical

Ich mache das in der Regel so:
Für die linke Layoutspalte nehm ich einen Marker, z.B. ADDITIONAL
Dann definiere ich was im Roottemplate, z.B.

page.10.marks.ADDITIONAL = COA
page.10.marks.ADDITIONAL {
   10 = TEXT
   10.value = <h3>Additional</h3>
}

Jetzt kann ich z.B. auf einer Seite per Exttemplate einfach den Kalender einfügen:

page.10.marks.ADDITIONAL.20 < lib.minical
maudi ·

Hallo Steffen,

danke für deinen Tipp.

Ich habe einfach mal mein TS rausgeschmissen und dein TS reinkopiert. Doch leider nichts zu sehen 🙁(

Dann habe ich Calendar Base cal 0.13.1 auf die 0.13.0 down gegraded ... und siehe da *jubel* ... es funktioniert (übrigens auch mit der 0.12.1)

Wenn ich die 0.13.1 wieder importiere, erscheint der Minical nicht mehr und im Quellcode der Seite erscheint unter Additional folgender Code:

<!--BEGIN: Content of extension "cal", plugin "tx_cal_controller"-->
<div class="tx-cal-controller">	</div>
<!-- END: Content of extension "cal", plugin "tx_cal_controller" -->

Das sagt mir, dass die Ext. am richtigen Platz aufgerufen wird aber der "Aufruf" der Ext. nicht Funktioniert. Möglicherweise ein BUG??

Noch einige Fragen:

  • Bei den Versionen 0.13.0. und 0.12.1 werden mir jeweils zwei MiniCalender angezeigt. Die Eventliste fehlt 🙁 ... und genau die wollte ich eigentlich haben!
    Ist es möglich, dass die Eventliste (also der monthteaser) von den älteren Versionen nicht unterstützt wird? (Habe schon im Changelog nachgesehen, aber nichts dazu gefunden)

  • Funktioniert bei jemanden der monthteaser (und der monthmini) mit der Version 0.13.1?

Gruß
Martin

steffenk ·

ab Version 13 sind soviele Neuerungen, das die Version noch buggy ist, das bleibt nicht aus. Mario ist nach seiner Hochzeitsreise auch bald wieder am Start, so das Du Dich auf baldige Fixierung der Bugs freuen kannst.
Hilfreich ist die Entwicklerseite mit Bugliste, dort sollten alle Probleme gepostet werden, da sie als Grundlage dient: (ist grad offline, ich poste das später)

maudi ·

#angry# wenn ich einen Marker für die MinicalView anlegen, muss ich natürlich auch einen für die EventListe anlegen #angry#

Aber leider funktioniert es nur bis zu 0.13.0 Version.

Aber stimmt, die lang ersehnte Hochzeitsreise von Mario ist natürlich viel wichtiger, als dass es in der 0.13.1 funktioniert. Manche Dinge müssen nunmal eben warten!

@steffenk:
Vielen Dank nochmal für deine Tipps *fettesLob* ... sonst wäre ich wohl nie auf den richtigen Weg gekommen *thx*

Gruß
Martin

maudi ·

eine Frage habe ich noch:
wenn ich das monthteaser-Template aus dem Tut verwende
bekomme ich folgendes angezeigt

12:00 Tagesereignis
Konzerte
12:00 Tagesereignis
Diashow

was mir folgendes sagt:
###DAYLINK### : Tagesereignis
###START_TIME### : 12:00
###EVENT_TEXT### : Konzerte

Ich möchte aber gern die ausgabe wie folgt haben:
01.11. Konzerte
03.11. Diashow

wie heißt der Marker(?) für die ???
###???### ###EVENT_TEXT###

Oder gibt es irgendwo eine Übersicht, wie man die verschiedenen Variablen ansprechen kann?

Gruß
Martin

steffenk ·

eine Übersicht wäre schön 🙂

Nein, es gibt da nur START_TIME. Die Auswertung findet je nach Eingabe statt (gibts Anfangs- und Endzeit), formatiert wird der Wert nach der TS-Konfiguration unter
view.list.dateFormatList bzw view.list.timeFormatList

Hier besteht Handlungsbedarf, denn man möchte ja gern nur das Datum benutzen so wie Du. Ich sprech das mal an.

Du könntest das patchen, es wird generiert in
cal/view/class.tx_cal_listview.php

maudi ·

Ich kann mich ganz schwach daran erinner, dass ich in der 0.13.1 in der Listenansicht nicht die 12:00 zu stehen hatte, sondern "Mi, Nov 01" ... schade, dass dort die MiniViews nicht funzen 🙁

*händeübernkopfzusammenschlag* ... ich kann zwar etwas Code lesen, aber mit der listview.php bin ich leider doch etwas überfordert 🙁
Könntest du mir dabei vielleicht etwas unter die Arme greifen?

Ich will ja am linken Rand eine Vorschau der nächsten ~8 Events erzeugen.
Mit dem monthtease werden leider alle Events angezeigt. 🙁
Gibt es eine Möglichkeit, dass auch dort nur die nächsten 8 zu sehen sind?

madmat ·
maudi schrieb

Ich will ja am linken Rand eine Vorschau der nächsten ~8 Events erzeugen.
Mit dem monthtease werden leider alle Events angezeigt. 🙁
Gibt es eine Möglichkeit, dass auch dort nur die nächsten 8 zu sehen sind?

Der ListView lässt sich doch recht leicht begrenzen mit "Höchstzahl der Ereignisse", das sollte sich doch auch für Dich eignen ?
plugin.tx_cal_controller.view.list.maxEvents

maudi ·

Ja, die Listen-Ansicht lässt sich wunderbar mit "Höchstzahl der Ereignisse" begrenzen. DAs habe ich ja auch gemacht.

Doch leider lässt sich die MiniView (welches ja auch eine Liste ist) nicht begrenzen. Oder habe ich da was übersehen?

STOPP ... Kommando zurück
Ich hatte im Plugin die "Höchstzahl der Ereignisse" begrenzt und dann hatte es keine Auswirkung auf die linke mini Liste.
Wenn ich aber plugin.tx_cal_controller.view.list.maxEvents im TS definiere, kann ich die linke mini Liste damit wunderbat begrenzen
DANKE für den Hinweis

Jetzt bleibt nur noch das Prob mit "12:00" 🙁

steffenk ·

aus

$switch['###START_TIME###'] = date($this->cObj->conf['view.']['list.']['dateFormatList'], $val->getEnddate()).
											"  ".date($this->cObj->conf['view.']['list.']['timeFormatList'], $val->getEndtime());

müsste sowas werden

$switch['###START_TIME###'] = date($this->cObj->conf['view.']['list.']['dateFormatList'], $val->getEnddate());

(bei meiner Version)

maudi ·

in der class.tx_cal_listview.php habe ich drei mal ###START_TIME### zu stehen

$switch['###START_TIME###'] = $this->shared->lang('l_all_day');
$switch['###START_TIME###'] = $event_start.' - '.$event_end;
$switch['###START_TIME###'] = strftime($this->cObj->conf['view.']['list.']['dateFormatList'], $val->getEnddate()).
"  ".strftime($this->cObj->conf['view.']['list.']['timeFormatList'], $val->getEndtime());

doch leider siehts bei meiner Version nicht wie bei dir aus. Ich arbeite mit der 0.13.0. Welche hast du am Start?
Du hast geschrieben "müsste Funktionieren" ... wird es bei dir angezeigt oder hast du erstmal nur gecodet?

Wenn ich beim 3. START_TIME Eintrag den letzten Teil ab "" ".strftime..." weglassen oder auch wenn ich meine Zeile mit deiner komplett ersetze, passiert leider überhaupt nichts. 🙁

Ist es sonst nicht erstmal möglich es über TS zu lösen?
Idee: drei Marker für drei MiniViews platzieren: "heute" "morgen" "übermorgen" und dann eben nur den ###EVENT_TEXT### reinschreiben.

Wobei sich für mich die Frage stellt, wie der TS-Code verändert werden muss?

maudi ·

ich muss hier noch mal nachfragen
ich beutze jetzt die Version 0.13.0, damit ich eine Miniview habe
Diese generiere ich im TS wie folgt:

lib.minicallist >
lib.minicallist < plugin.tx_cal_controller
lib.minicallist {
	pages = 53
	view {
		defaultView = list
		list.listTemplate = fileadmin/templates/cal/monthteaser.tmpl
		calendar.defaultUid = 53
		isStatic = 1
		day.dayViewPid = 22
		weekStartDay = Monday
                list.maxEvents = 6
	}	
}

Das unschöne Datumsformat "12:00" habe ich beseitigt, indem ich den Marker im Template gelöscht habe.
Als unschönen Nebeneffekt sieht man nun nicht, an welchen Tag das Event stattfindet. Als Notlösung würde ich zwei(oder mehr) Marker setzen und dann eine Miniview für "heute", für "morgen", ... erzeugen.
Weil ich nciht so der TS-"Held" bin brauche ich genau dafür die Hilfe der "Experten".

Ist es nicht irgendwie möglich im o.g. TS-Code eine IF-Abfrage reinzubasteln? So nach dem Motto:

IF ###event_day### == today
then write in "miniview1"
else "nothing"

und für die andere Miniview:
IF ###event_day### == today+1 oder today+2
then write in "miniview2"
else "nothing"

Ich würde mich wirklich riesig darüber fruen, wenn mir dabei jemand unter die Arme greifen könnte.

Gruß
Martin

maudi ·

auch an diese Stelle meinen herzlichen Dank an Mario

von ihm kommt die Lösung:

Heute:
plugin.tx_cal_controller.view.list.starttime = now
plugin.tx_cal_controller.view.list.endtime = +1 day

Morgen:
plugin.tx_cal_controller.view.list.starttime = +1 day
plugin.tx_cal_controller.view.list.endtime = +2 day

kaktus ·

Hi, ich häng mich hier mal an:

Habe nach Tutorial von Steffen Miniview und Minilist eingebaut. (Cal Vers 0.12.1)Geht soweit. Allerdings werden die Titel nicht auf die List ansicht des kalenders verlinkt??

###Typo3 - Kalender###

# Minikalender + Upcoming Events

         lib.minical >
         lib.minical < plugin.tx_cal_controller
         lib.minical {
	   pages = 471
	   view {
		defaultView = month 
		month.monthTemplate = fileadmin/Magazin_2.0/Template/cal/monthmini.tmpl
		calendar.defaultUid = 471
		isStatic = 1
		day.dayViewPid = 464
		weekStartDay = Monday
	}	
}

         lib.minicallist >
         lib.minicallist < plugin.tx_cal_controller
         lib.minicallist {
	   pages = 471
	   view {
		defaultView = list
		list.listTemplate = fileadmin/Magazin_2.0/Template/cal/monthteaser.tmpl		
		calendar.defaultUid = 471
		isStatic = 1
		day.dayViewPid = 464
		weekStartDay = Monday
	}	
}

471 ist der Sysordner des Kalenders
464 der Kalneder selbst

Woran kann das liegen?

Wie sieht es mit Vers. 14 aus?

Grüße, kaktus

kaktus ·

Hi, irgendwie bin ich auf dem Holzweg 😢 ; wenn ich in der Minilist auf den Termin klicke, markiert er im Minikalender den Tag des Termins mit einem roten Rand. Klicke ich auf den markierten Termin, komme ich in die Tagesansicht des Kalenders. Ist das der korrekte Weg?

Grüße kaktus

kaktus ·

Hallo Steffen,

ist das der korrekte Weg? Mir wäre eine Verlinkung direkt auf den Event lieber, nur wie?

Grüße kaktus

kaktus ·

Jetzt hab ich alle möglichen Ansichten ausgewählt, aber es hilft nix, er markiert den Termin in der Miniview und bleibt auf der Startseite, wo Miniview und Minilist integriert sind. #angry#

Grüße, kaktus