» Forum » Clanscript » Design und Templates » Kalender - Wochenenden hinterlegen
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ 1 | 2 ] [ Anmelden zum schreiben ]

Kalender - Wochenenden hinterlegen
boze
Mitglied
0 Beitragspunkte
Posts: 133

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 10:32:49     Zitieren
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! Smilie

Grüße


verwendete ilchClan Version: 1.0.5
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 11:02:42     Zitieren
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
boze
Mitglied
0 Beitragspunkte
Posts: 133

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 11:19:01     Zitieren
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?! ...
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 11:56:38     Zitieren
$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
boze
Mitglied
0 Beitragspunkte
Posts: 133

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 14:31:47     Zitieren
Hey vielen Dank für die Hilfe! Smilie

Ich wollte auch, dass beim "großen" Kalender die WE's hinterlegt sind. Beim rechts ist das natürlich auch gut! Smilie 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! Smilie

Grüße
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 14:48:43     Zitieren
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
boze
Mitglied
0 Beitragspunkte
Posts: 133

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 15:09:53     Zitieren
Boahr! Vielen vielen vielen Dank!

Du bist echt genial! Smilie

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! Smilie

Grüße
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 15:14:46     Zitieren
Versteh ich ehrlich gesagt nicht, bei mir geht es.


Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
boze
Mitglied
0 Beitragspunkte
Posts: 133

0 Mitglieder finden den Beitrag gut.

Merkliste 22.03.2007 - 15:28:38     Zitieren
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ß
R2Hoffmann
Mitglied
0 Beitragspunkte
Posts: 32

0 Mitglieder finden den Beitrag gut.

Merkliste 05.04.2007 - 03:16:56     Zitieren
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 Smilie

Gruß R2Hoffmann
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 05.04.2007 - 08:04:28     Zitieren
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
R2Hoffmann
Mitglied
0 Beitragspunkte
Posts: 32

0 Mitglieder finden den Beitrag gut.

Merkliste 05.04.2007 - 14:52:11     Zitieren
Das zweite out ist falsch oder?
Zumindest geht meine Page dann nicht mehrSmilie

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
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 05.04.2007 - 17:13:34     Zitieren
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
R2Hoffmann
Mitglied
0 Beitragspunkte
Posts: 32

0 Mitglieder finden den Beitrag gut.

Merkliste 06.04.2007 - 15:54:59     Zitieren
Also wenn ich diesen Code bei mir in die calender.php einfüge, funktioniert sie Seite nicht mehr.
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 06.04.2007 - 17:52:16     Zitieren
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
R2Hoffmann
Mitglied
0 Beitragspunkte
Posts: 32

0 Mitglieder finden den Beitrag gut.

Merkliste 07.04.2007 - 06:23:09     Zitieren
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
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 07.04.2007 - 10:11:27     Zitieren
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
R2Hoffmann
Mitglied
0 Beitragspunkte
Posts: 32

0 Mitglieder finden den Beitrag gut.

Merkliste 09.04.2007 - 05:12:47     Zitieren
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
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 09.04.2007 - 09:56:30     Zitieren
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
R2Hoffmann
Mitglied
0 Beitragspunkte
Posts: 32

0 Mitglieder finden den Beitrag gut.

Merkliste 11.04.2007 - 18:03:41     Zitieren
Ok! Super! Hat alles geklappt wie ich es wollte! Danke nochmal für die Hilfe!
Discjoggy
Mitglied
0 Beitragspunkte
Posts: 26

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 26.10.2007 - 21:23:01     Zitieren
Hey Mairu... denke du könntest bestimmt schimmer hiervon haben Smilie

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 Smilie


Euer V-Make
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 28.10.2007 - 10:22:06     Zitieren
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
Discjoggy
Mitglied
0 Beitragspunkte
Posts: 26

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 28.10.2007 - 15:00:15     Zitieren
klappt, danke!


Euer V-Make
Discjoggy
Mitglied
0 Beitragspunkte
Posts: 26

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 28.10.2007 - 17:05:07     Zitieren
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 Smilie

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

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
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 29.10.2007 - 09:29:02     Zitieren
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
Discjoggy
Mitglied
0 Beitragspunkte
Posts: 26

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 29.10.2007 - 15:55:12     Zitieren
Danke dir vielmals !!!!


Euer V-Make
MagistYata
Mitglied
6 Beitragspunkte
Posts: 843

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 29.02.2008 - 18:02:53     Zitieren
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
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 01.03.2008 - 08:50:16     Zitieren
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
MagistYata
Mitglied
6 Beitragspunkte
Posts: 843

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 02.03.2008 - 11:12:07     Zitieren
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
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 02.03.2008 - 11:36:20     Zitieren
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 Auslachen


Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite

[ 1 | 2 ] [ Anmelden zum schreiben ]