Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ 1 | 2 ] | [ Anmelden zum schreiben ] |
| Kalender - Wochenenden hinterlegen | |||
|---|---|---|---|
| boze Mitglied
Posts: 133 |
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!
Grüße verwendete ilchClan Version: 1.0.5 |
||
| Mairu Coder
Posts: 12770 |
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
Posts: 133 |
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
Posts: 12770 |
$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
Posts: 133 |
Hey vielen Dank für die Hilfe!
Ich wollte auch, dass beim "großen" Kalender die WE's hinterlegt sind. Beim rechts ist das natürlich auch gut! 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!
Grüße |
||
| Mairu Coder
Posts: 12770 |
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
Posts: 133 |
Boahr! Vielen vielen vielen Dank!
Du bist echt genial!
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!
Grüße |
||
| Mairu Coder
Posts: 12770 |
Versteh ich ehrlich gesagt nicht, bei mir geht es.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| boze Mitglied
Posts: 133 |
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
Posts: 32 |
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
Gruß R2Hoffmann |
||
| Mairu Coder
Posts: 12770 |
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
Posts: 32 |
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 |
||
| Mairu Coder
Posts: 12770 |
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
Posts: 32 |
Also wenn ich diesen Code bei mir in die calender.php einfüge, funktioniert sie Seite nicht mehr.
|
||
| Mairu Coder
Posts: 12770 |
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
Posts: 32 |
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
Posts: 12770 |
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
Posts: 32 |
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
Posts: 12770 |
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
Posts: 32 |
Ok! Super! Hat alles geklappt wie ich es wollte! Danke nochmal für die Hilfe!
|
||
| Discjoggy Mitglied
Posts: 26 |
Hey Mairu... denke du könntest bestimmt schimmer hiervon haben
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 ![]() Euer V-Make |
||
| Mairu Coder
Posts: 12770 |
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
Posts: 26 |
klappt, danke!
Euer V-Make |
||
| Discjoggy Mitglied
Posts: 26 |
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
habe was versucht... klappt nur iwie nicht... er macht zwar den eigentlichen tag markiert, aber dieser ist dann 2 mal da
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
Posts: 12770 |
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
Posts: 26 |
Danke dir vielmals !!!!
Euer V-Make |
||
| MagistYata Mitglied
Posts: 843 |
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"> </td>', (7-(($i+$fw-1) % 7)) % 7 );
$return_str .= '</tr></table>';
return ($return_str);
}Streß ist Lebensdiebstahl |
||
| Mairu Coder
Posts: 12770 |
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
Posts: 843 |
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
Posts: 12770 |
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 ![]() Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| [ 1 | 2 ] | [ Anmelden zum schreiben ] |