ilch Forum » Ilch Clan 1.1 » Design und Templates » Kalender - Wochenenden hinterlegen

Geschlossen
  1. #1
    User Pic
    boze Mitglied
    Registriert seit
    05.01.2007
    Beiträge
    133
    Beitragswertungen
    0 Beitragspunkte
    Hallo zusammen!

    Ich habe mal wieder eine kleine Frage:
    Ich möchte gerne im Kalender die Wochenenden irgendwie hinterlegen. Ich habe im Code schon nachgeschaut, bin aber nicht wirklich fündig gewoden. Ich habe zwar die Zeilen gefunden, wo die Tage ausgegeben werden, aber ich weiß nicht wirklich wie ich das dort bewerkstelligen könnte!

    Ich würde mich über Hilfe freuen! Danke schonmal im vorraus! lächeln

    Grüße


    verwendete ilchClan Version: 1.0.5
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    include/includes/func/calender.php (ab Zeile 42)
      for($i=1;$i<=$days;$i++) {
        if (($i+$fw-1) % 7 == 0 AND $i > 1) { $return_str .= '</tr><tr>'; }
        if ($i == $ak_tag AND $mon == $ak_mon AND $jahr == $ak_jahr) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
    
    
        $wt = date('w',mktime(1,0,0,$mon,$i,$jahr));
        if ($wt == 6 OR $wt == 0) $class = 'Chead';
    
    
        $surl = str_replace('{mon}', $mon, str_replace('{tag}',$i, str_replace('{jahr}',$jahr, $url)));
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b>'.$i.'</b>'; } else { $out_i = $i; }
        $return_str .= '<td class="'.$class.'" align="center"><a href="'.$surl.'">'.$out_i.'</a></td>';
      }


    *Updated ) eingefügt, die ich vergessen hatte.

    Wenn du ne andere Farbe haben willst, solltest du noch ne Klasse in der style.css eintragen, die du dann hier verwenden kannst.


    Zuletzt modifiziert von Mairu am 22.03.2007 - 11:58:35
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    boze Mitglied
    Registriert seit
    05.01.2007
    Beiträge
    133
    Beitragswertungen
    0 Beitragspunkte
    Und wo trage ich diese Klasse dann ein?! ... Also der Code ist zwar mehr oder weniger schlüßig, aber wo könnte ich eine Abfrage wie z.B. if (tag=samstag) {class=blaaaaaaaaa} reinmachen?! ...
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    $wt ist der Wochentag 6 ist Samstag und 0 ist Sonntag.
    Wegen den Styles, einfach mal in der styles.css nachschauen, wie Cmite usw. definiert ist, kopieren Namen ändern benutzen, fertig.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    boze Mitglied
    Registriert seit
    05.01.2007
    Beiträge
    133
    Beitragswertungen
    0 Beitragspunkte
    Hey vielen Dank für die Hilfe! lächeln

    Ich wollte auch, dass beim "großen" Kalender die WE's hinterlegt sind. Beim rechts ist das natürlich auch gut! lächeln Vielen Dank! Das Problem beim kleinen ist, dass es nicht in der ersten Zeile funktioniert. Also meistens der 1., 2. oder 3. im Monat.

    Danke nochmal. Würde mich um weitere Hilfe freuen! lächeln

    Grüße
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Gleiches Spiel allerdings in der include/contents/kalender.php
    Zeile 135++
    		$aus['LIST_I'] = $i+1;
    		$aus['LIST_D'] = $arr_day[date('w',mktime(0,0,0,$month,$i+1,$year))];
    		$aus['LIST_T'] = $text;
    		$class = ($i % 2) ? 'Cnorm' : 'Cmite' ;
    		
    
    
    if ($aus['LIST_D'] == 'Sa' OR $aus['LIST_D'] == 'So') $class = 'Chead';
    
    
    
    		$aus['LIST_CLASS'] = ($i+1 == date('j') && $month == date('n') && $year == date('Y')) ? 'Cdark' : $class;
    		$tpl->set_ar_out($aus,1);
    		unset($aus);
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    boze Mitglied
    Registriert seit
    05.01.2007
    Beiträge
    133
    Beitragswertungen
    0 Beitragspunkte
    Boahr! Vielen vielen vielen Dank!

    Du bist echt genial! lächeln

    Nur hab ich das Problem in dem "kleinen" Kalender immer noch. Die erste Reihe bleibt immer unverändert (keine Hinterlegung). Die anderen machen es genau so, wies sein soll!



    Bitte noch um kurze Hilfe! lächeln

    Grüße
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Versteh ich ehrlich gesagt nicht, bei mir geht es.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    boze Mitglied
    Registriert seit
    05.01.2007
    Beiträge
    133
    Beitragswertungen
    0 Beitragspunkte
    hmm ... komisch.

    Also von Zeile 42 bis Zeile 55:
      for($i=1;$i<=$days;$i++) { 
        if (($i+$fw-1) % 7 == 0 AND $i > 1) { $return_str .= '</tr><tr>'; } 
        if ($i == $ak_tag AND $mon == $ak_mon AND $jahr == $ak_jahr) { $class = 'Cmite'; } else { $class = 'Cnorm'; } 
    
    
        $wt = date('w',mktime(1,0,0,$mon,$i,$jahr)); 
        if ($wt == 6 OR $wt == 0) $class = 'Chead'; 
    
    
        $surl = str_replace('{mon}', $mon, str_replace('{tag}',$i, str_replace('{jahr}',$jahr, $url))); 
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b>'.$i.'</b>'; } else { $out_i = $i; } 
        $return_str .= '<td class="'.$class.'" align="center"><a href="'.$surl.'">'.$out_i.'</a></td>'; 
      }


    Gruß
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    R2Hoffmann Mitglied
    Registriert seit
    05.04.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Nabend!

    Also ich muss sagen, bei mir hinterlegt er auch erst ab dem 2. Wochenende im Monat :-/
    Echt seltsam! Boze bist du denn weiter gekommen? Klappt das jetzt bei dir?

    Ich wollte außerdem mal fragen, was ich machen müsste, damit die Tage, an denen Termine eingestellt wurden, auch farblich hinterlegt werden. Manche alte Menschen sehen nämlich das fett gedruckte nicht lächeln

    Gruß R2Hoffmann
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b>'.$i.'</b>'; } else { $out_i = $i; }

    durch
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b>'.$i.'</b>'; $class = 'Cdark';} else { $out_i = $i; }
    ersetzen.


    Zuletzt modifiziert von Mairu am 05.04.2007 - 17:13:04
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    R2Hoffmann Mitglied
    Registriert seit
    05.04.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Das zweite out ist falsch oder?
    Zumindest geht meine Page dann nicht mehr:)

    Und ist das nun für meine Zwecke, oder dafür, dass die Wochenenden markiert sind? Weil wenn ich nur die eine zeile einfüge, passiert garnichts bei mir.

    mfg R2Hoffmann
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Ja das war falsch, letzendlich hab ich nur das $class = 'Cdark'; eingefügt, mehr nicht.

    ansonsten kannst du mal das Probieren:
    for($i=1;$i<=$days;$i++) {
        if (($i+$fw-1) % 7 == 0 AND $i > 1) { $return_str .= '</tr><tr>'; }
        if ($i == $ak_tag AND $mon == $ak_mon AND $jahr == $ak_jahr) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
    
    
        $wt = date('w',mktime(1,0,0,$ak_mon,$i,$ak_jahr));
        if ($wt == 6 OR $wt == 0) $class = 'Chead';
    
    
        $surl = str_replace('{mon}', $mon, str_replace('{tag}',$i, str_replace('{jahr}',$jahr, $url)));
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b>'.$i.'</b>'; $class = 'Cdark'; } else { $out_i = $i; }
        $return_str .= '<td class="'.$class.'" align="center"><a href="'.$surl.'">'.$out_i.'</a></td>';
      }



    Zuletzt modifiziert von Mairu am 06.04.2007 - 17:52:34
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    R2Hoffmann Mitglied
    Registriert seit
    05.04.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Also wenn ich diesen Code bei mir in die calender.php einfüge, funktioniert sie Seite nicht mehr.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Ja ohne Fehlermeldung ist es immer schön, aber ich hab noch was fasches gesehen, kannst es ja nochmal probieren.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    R2Hoffmann Mitglied
    Registriert seit
    05.04.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Danke schonmal, aber nun passiert etwas Komisches. Also es gibt wieder farblich hinterlegte Felder, allerdings sind es irgendwelche. Weder Wochenende, noch die Tage, an denen ein Termin eingetragen ist. Wenn ein Tag mit einem Termin zufällig auf einen markierten Tag fällt, geht die Farbe da auch weg. Also irgendwas stimmt da noch nicht
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Also hier nochmal mein Code, (ich habe Cdark in Chead verändert, da Cdark anscheinend nicht so gut sichtbar ist, am besten ist es aber eh eine eigen Klasse dafür anzulegen, und dann die Cheads in dem Code zu ändern)

      for($i=1;$i<=$days;$i++) {
        if (($i+$fw-1) % 7 == 0 AND $i > 1) { $return_str .= '</tr><tr>'; }
        if ($i == $ak_tag AND $mon == $ak_mon AND $jahr == $ak_jahr) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
        $wt = date('w',mktime(1,0,0,$mon,$i,$jahr));
        if ($wt == 6 OR $wt == 0) $class = 'Chead';
        $surl = str_replace('{mon}', $mon, str_replace('{tag}',$i, str_replace('{jahr}',$jahr, $url)));
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b>'.$i.'</b>'; $class = 'Chead'; } else { $out_i = $i; }
        $return_str .= '<td class="'.$class.'" align="center"><a href="'.$surl.'">'.$out_i.'</a></td>';
      }
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    R2Hoffmann Mitglied
    Registriert seit
    05.04.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Ok super danke! Bis auf, dass er immer noch nicht das erste Wochenende im Monat markieren will, ist es echt super! Ich muss mir allerdings mal angucken wie ich so eine Farbe herzauber. Verstehe das nämlich noch nicht so wirklich mit der style.css.

    Könnte man es denn vielleicht so machen, dass die Wochenenden, anders hinterlegt werden, als die Termine?


    Zuletzt modifiziert von R2Hoffmann am 09.04.2007 - 05:13:14
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Sicher, wie gesagt, du musst nur in die style.css gehen, nach .Chead suchen, dann den Teil da kopieren, und .Chead in was anderen umbenennen, dann halt in dem Quellcodestück die Cheads ändern, oben ist Wochenende unten ist Termin.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    R2Hoffmann Mitglied
    Registriert seit
    05.04.2007
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Ok! Super! Hat alles geklappt wie ich es wollte! Danke nochmal für die Hilfe!
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Discjoggy Mitglied
    Registriert seit
    02.08.2007
    Beiträge
    26
    Beitragswertungen
    0 Beitragspunkte
    Hey Mairu... denke du könntest bestimmt schimmer hiervon haben lächeln

    Versuche den Kalender irgendwie so zu gestalten, dass dieser mir bei "mouseover" also beim herüberfahren eines datums wo etwas eingetragen ist eine "quikinfo" anzeigt...

    Hoffe du verstehst was ich meine, sei es dass es überhaupt mögich ist lächeln
    Euer V-Make
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Da muss man gar nicht viel machen. Einfach nur
    $out_i = '<b>'.$i.'</b>';
    durch
    $out_i = '<b title="'.$data[mktime (0,0,0,$mon,$i,$jahr)][0]['title'].'">'.$i.'</b>';
    ersetzen.


    Zuletzt modifiziert von Mairu am 28.10.2007 - 10:22:34
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Discjoggy Mitglied
    Registriert seit
    02.08.2007
    Beiträge
    26
    Beitragswertungen
    0 Beitragspunkte
    klappt, danke!
    Euer V-Make
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Discjoggy Mitglied
    Registriert seit
    02.08.2007
    Beiträge
    26
    Beitragswertungen
    0 Beitragspunkte
    Hm, naja nochwas... is aber nicht zwingend...

    Kann man das irgendwie so machen, dass der Kalender auch den aktuellen Tag anzeigt ? Zumindest, so dass er evtl. das date vom Clienten selbst abragt und da anzeigt o.ä.

    Wie gesagt, nicht zwingend lächeln

    habe was versucht... klappt nur iwie nicht... er macht zwar den eigentlichen tag markiert, aber dieser ist dann 2 mal da lächeln

     for($i=1;$i<=$days;$i++) { 
        if (($i+$fw-1) % 7 == 0 AND $i > 1) { $return_str .= '</tr><tr>'; }
    
    //    if ($i == date('j')) { $return_str .= '<td <td style="background-color: #889fca;'.'font-weight: bold;">'.($i - $days + 1).'</td>'; }
    //    else {$return_str .= '' }
       
        if ($i == $ak_tag AND $mon == $ak_mon AND $jahr == $ak_jahr) { $class = 'Cdark'; } else { $class = 'Cnorm'; }



    Zuletzt modifiziert von Discjoggy am 29.10.2007 - 01:17:00
    Euer V-Make
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Also wenn er z.B. kursiv angezeigt werden soll, könnte man es so machen
    if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<b title="'.$data[mktime (0,0,0,$mon,$i,$jahr)][0]['title'].'">'.$i.'</b>'; $class = 'Chead'; } elseif ($i == date('j')) { $out_i = '<i title="heute">'.$i.'</i>'; } else { $out_i = $i; }
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Discjoggy Mitglied
    Registriert seit
    02.08.2007
    Beiträge
    26
    Beitragswertungen
    0 Beitragspunkte
    Danke dir vielmals !!!!
    Euer V-Make
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Hallo,

    wo muss ich den Code
    $out_i = '<b title="'.$data[mktime (0,0,0,$mon,$i,$jahr)][0]['title'].'">'.$i.'</b>';
    hinschreiben?

    Mein Code sieht so aus (Teilcode der calander.php

    for($i=1;$i<=$days;$i++) {
        if (($i+$fw-1) % 7 == 0 AND $i > 1) { $return_str .= '</tr><tr>'; }
        if ($i == $ak_tag AND $mon == $ak_mon AND $jahr == $ak_jahr) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
        $surl = str_replace('{mon}', $mon, str_replace('{tag}',$i, str_replace('{jahr}',$jahr, $url)));
        if (isset($data[mktime (0,0,0,$mon,$i,$jahr)])) { $out_i = '<font color="#ccbbaa"<b>'.$i.'</b></font>'; } else { $out_i = $i; }
        $return_str .= '<td class="'.$class.'" align="center"><a href="'.$surl.'">'.$out_i.'</a></td>';
      }
    
      $return_str .= str_repeat ('<td class="Cnorm">&nbsp;</td>', (7-(($i+$fw-1) % 7)) % 7 );
      $return_str .= '</tr></table>';
      return ($return_str);
    }
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Einfach mal von oben nach unten durchgehen, dann siehst du die ganzen Veränderungen und nicht nur den letzten Post lesen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Tagchen,
    Mairu, ich habe es mir durchgelesen, und oben steht, dass ich den Code für das Quickinfo bei $out_i =..... eintragen soll. Nur steht dort schon der Code für die Farbe eines Termines.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Dann hast du nicht richtig gelesen, man kann ja mit Bedingungen verschiedene i_out festlegen, deswegen gibt es da mitunter auch recht viele i_out oder?
    Und alle Informationen in dem Thema bauen aufeinander auf, sprich von oben nach unten sollten sie auch Sinn ergeben zunge
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Design und Templates

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten