Calendar Base: Problem mit der week-view [Gelöst]

  • jh@ jh@
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    12. 10. 2009, 15:47

    Hallo,

    ich habe mir vor kurzem die neueste Version (1.2.0) von Calendar Base installiert. Die Monats- und die Jahresansicht funktionieren wunderbar und solange ich kein Event anlege funktioniert auch die Tages- und Wochenansicht.

    Lege ich aber ein Event an, welches über eine bestimmte Zeitspanne geht (z.B. von 9:00 - 18:20 Uhr), dann ist die Tabelle in der week-view fehlerhaft. Entweder es fehlen Felder oder sogar ganze Spalten, oder es sind plötzlich zu viele Felder da. Ich habe festgestellt, dass dieser Fehler scheinbar mit der Stundenangabe im Kalender zusammenhängt - also wie viele Stunden am Tag im Kalender angezeigt werden sollen. Ich habe bei mir im Backend die Anzeige von 00:00 Uhr bis 23:00 Uhr eingestellt.

    Zur Info: Ich benutze PHP 5.2.9 und Typo3 4.2.8. Für den Kalender habe ich die Standard-Templates genutzt und entsprechend angepasst. An der Anpassung kann es aber nicht liegen, da ich den Kalender extra nochmal auf einem Testsystem installiert habe - ohne Anpassungen - und dort hatte ich das selbe Problem. Dass ich kein css_styled_content benutze, kann ich als Ursache ebenfalls ausschließen, da es mit auch nicht funktioniert.

    Hat jemand einen Tipp, wo sich der Fehlerteufel versteckt haben könnte? Danke schonmal im Voraus :)

    Edit:
    Wenn ich die angezeigte Zeitspanne von 03:00 - 23:00 Uhr änder, funktioniert die Wochenansicht wieder enigermaßen. Wähle ich als Startzeit aber etwas unter 03:00 Uhr, gibt es Probleme... Irgendwelche Vorschläge?


  • 1
  • jh@ jh@
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    13. 10. 2009, 15:27

    Nach einigen Stunden Debugging habe ich - glaube ich - die Lösung gefunden. Sie ist zwar noch nicht ganz perfekt, aber sie funktioniert - zumindest bei mir.

    1.)

    Das erste Problem war, dass der Kalender für das Ausfüllen der Felder (unterhalb der Tagesanzeigen) mit einem Tag zu zeitig angefangen hat. Ist der 1. Wochentag z.B. der 13. gewesen, dann hat er für den ersten Wochentag die Daten vom 12. genutzt.
    Das Problem konnte mit folgenden Änderungen in der Datei typo3conf/ext/cal/view/class.tx_cal_weekview.php behoben werden:

    ca. Zeile 490:
    $cal_time_obj->copy($d_start); auskommentiert und mit
    $cal_time_obj->copy($week_start_day); ersetzt

    nächste Zeile:
    $cal_time_obj->toUTC(); auskommentiert

    ca. Zeile 570:
    $cal_time_obj->setDay($d_start->getDay()); auskommentiert und mit
    $cal_time_obj->setDay($week_start_day->getDay()); ersetzt

    2.)

    Das zweite Problem war die Anzeige der Stunden pro Tag. Die Anzeige von 00:00 - 23:00 Uhr verursacht Probleme. Die Anzeige von 01:00 - 23:00 Uhr funktioniert. Da mir diese Zeitspanne ausreicht, habe ich an der Stelle aufgehört zu debuggen. Ich kann diesbezüglich also nur sagen, dass das Problem irgendwo in dem Array $t_array liegt.

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

    Auch bei der Tagesansicht von parallel laufenden Events über mehrere Tage gab es Probleme: Es wurde entweder eine Spalte zu viel hinzugefügt oder nur ein Event angezeigt. Das Problem lag daran, dass das erste Event in einem Array überschrieben wurde. Folgende Änderungen in der Datei typo3conf/ext/cal/view/class.tx_cal_dayview.php haben Abhilfe geschafft:

    ca. Zeile 266:

    1. $view_array[$j->format('%Y%m%d')][$j->format('%H%M')][$k] = $event->getType().'_'.$event->getUid().'_'.$eventStart->format('%Y%m%d%H%M');
    2. $j->addSeconds($gridLength * 60);

    vor diese beiden Zeilen muss folgender Code eingefügt werden, um das Überschreiben zu verhindern:

    1. if(count($view_array[$j->format('%Y%m%d')][$j->format('%H%M')]) == 0){
    2. $k = 0;
    3. }
    4. else{
    5. $k = count($view_array[$j->format('%Y%m%d')][$j->format('%H%M')]);
    6. }

    Ich hoffe, dass das denen hilft, die vieleicht das selbe Problem haben.

  • sushie sushie
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    26. 07. 2010, 20:31

    Hallo

    habe ähnliche probleme, welche ich dank deinem beitrag teilweise beheben konnte!

    habe einen neuen beitrag dazu eröffnet:
    http://www.typo3.net/forum/list/list_post//100245

    *danke und grüsse

  • 1