Wer kennt sich mit dem Calendar View aus
am 04.11.2007 - 12:44 Uhr in
Generisch ist immer besser, dachte ich mir und habe das Calendar Modul installiert. Da gibt es auch einen wunderbaren View, der mit den aktuellen Monat als Kalenderansicht zeigt. Habe nach http://drupal.org/node/133341 m.E. auch alles richtich gemacht. Aber: wenn ich jetzt einen Node erstelle, der durch den View-Filter eigentlich in dem Kalender erscheinen sollte, funzt es nicht. Frage mich, was ich falsch mache. Der View selber ist schon ein bisschen komplex, deshalb, bevor ich lange rumanalysiere, dachte ich, frag ich mal...
Halt stop, in dem kleinen Vorschaukalender wird jetzt der Tag mit einem Termin gelb markiert angezeigt. Nur in dem grossen immer noch nicht (siehe Anhang)
| Anhang | Größe |
|---|---|
| Screenshot - 017.jpg | 113.76 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben

Ein Link zu dem Kalender
am 04.11.2007 - 13:00 Uhr
Ein Link zu dem Kalender waere hilfreich um Dir zu helfen - wenn Du online entwickelst.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
hier ist der Link
am 04.11.2007 - 13:04 Uhr
http://limmertime.de/module/notizbuch
log dich ein als tommi pw krupi44
links siehst du den kleinen Vorschaukalender. Der 6.Nov ist auch gelb markiert. Wenn du ihn jetzt anklickst, sollte m.E. die Vollansicht des Termins erscheinen. Die Argumente, die in der adresszeile ausgegeben werden sowie der Node-Title sind auch richtig. Allein man sieht immer nur die Monatsansicht, egal ob man Jahr, Monat, oder Tag anklickt.
Dabei sein ist alles
kann es sein das Calendar
am 04.11.2007 - 13:22 Uhr
kann es sein das Calendar die Argumente stört?
oder wie holt sich der Calendar die args die er braucht?
hmm
am 04.11.2007 - 13:34 Uhr
also m.E. ist das Ganze fast ausschliesslich ein View mit minimaler zusätzlicher Funktionalität. Vielleicht noch ein bisschen neu. Vielleicht schreib ichs auch mal in die issue queue ;)
Hab ja hier meinen Login rausgegeben, da kann man dann auch auf edit gehen. Muss nachher mal mein Passwort ändern, sonst gibts bald viel Spass in meinem Notizbuch ;)
Dabei sein ist alles
Eventuell ist es nur eine
am 04.11.2007 - 13:50 Uhr
Eventuell ist es nur eine fehlende CSS-Formatierung im grossen Kalender. Aber den kann ich, access denied. nicht sehen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Nochmal probieren
am 04.11.2007 - 13:58 Uhr
Hab mich mal ausgeloggt. Vielleicht kannst du ja nicht mit der gleichen Rolle wie ich eingeloggt sein. Du solltest jetzt auch direkt an den View rankommen.
Dabei sein ist alles
Wie logge ich mich denn
am 04.11.2007 - 14:10 Uhr
Wie logge ich mich denn ein?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Loesungsansatz (3 Posts hoeher) bereits gepostet
am 04.11.2007 - 15:02 Uhr
mein zweiter KOmmentar, siehe oben: user: tommi pw: krupi44
Klemmt Deine Tastatur?
Habe mich eingeloggt. Habe den Loesungsansatz (3 Posts hoeher) als "Loesung des Problemes" bereits gepostet.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Sorry.
am 04.11.2007 - 15:05 Uhr
Mein Browser spinnt. Danke.
Werde mir die Lösung mal in Ruhe angucken. Da ich ein bisschen ein noob coder bin, kann das etwas dauern.
Dabei sein ist alles
Was ist das Problem?
am 04.11.2007 - 15:12 Uhr
Was ist das Problem? Template erstellen oder die Aendereung des PHP-Code im Template?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Beim Löschen der
am 04.11.2007 - 16:02 Uhr
Beim Löschen der Passwort-Kommentare von eigentor sind auch 2 der Kommentare von quiptime flöten gegangen hier sind die nochmal zitiert:
Im Block wird am aktuellen Tag die CSS Klasse "mini-day-on" gesetzt. Die eigentliche Markierung ist "-on". Alle anderen Tage haben die Markierung "-off".
Im grossen Kalender hat der aktuelle Tag keine extra CSS Markierung mit ner Klasse oder ID. Das ist der Knackpunkt und hierbei muss man ansetzen. Ist fuer mich eine fehlende Implementierung im Modul.
Moment, ziehe mir den View mal naeher rein.
Datai calendar.theme
<?php
/**
* Format an date's day box in a calendar
*
* @param day
* The day to display.
*/
function theme_calendar_date_box($year, $month, $day, $view, $mini = FALSE, $selected = FALSE, $url, $append = '') {
$url = $url ? $url .'/'. $year .'/'. $month .'/'. $day : 'calendar/'. $year .'/'. $month .'/'. $day;
if ($mini) {
if ($selected) {
return '<div class="mini-day-on">'. l($day, $url, NULL, $append) .'</div>';
}
else {
return '<div class="mini-day-off">'. l($day, $url, NULL, $append) .'</div>';
}
}
switch ($view) {
case 'table':
$output = '<div class="day">'. l(t('!month / !day', array('!month' => $month, '!day' => $day)), $url, NULL, $append) .'</div>'."\n";
break;
case 'list':
$output = '<div class="day">'. l(date_format_date('l, F j, Y', date_mktime(array('mon' => $month, 'mday' => $day, 'year' => $year))), $url, NULL, $append) .'</div>'."\n";
break;
case 'day':
break;
default:
$output = '<div class="day">'. l($day, $url, NULL, $append) .'</div>'."\n";
break;
}
return $output;
}
?>
Hier kann man den Ursprung der beiden Ausgaben des Block und des grossen Kalenders erkennen. Im oberen Teil der Block mit den -on und -off Markierungen, die im unteren Teil komplett fehlen.
Man koennte den unteren Teil mit der
if ($selected)
Abfrage in einem Template erweitern. Das ist fuer mich die Loesung des Problemes.
gruß pebosi
Bevor ich es auf meinem
am 04.11.2007 - 19:35 Uhr
Bevor ich es auf meinem Rechner wieder loesche. Die PHP-Anpassung fuer die Template-Datei "calendar_date_box.tpl.php".
<?php$url = $url ? $url .'/'. $year .'/'. $month .'/'. $day : 'calendar/'. $year .'/'. $month .'/'. $day;
if ($mini) {
if ($selected) {
return '<div class="mini-day-on">'. l($day, $url, NULL, $append) .'</div>';
}
else {
return '<div class="mini-day-off">'. l($day, $url, NULL, $append) .'</div>';
}
}
switch ($view) {
case 'table':
if ($selected) {
$output = '<div class="day-on">'. l(t('!month / !day', array('!month' => $month, '!day' => $day)), $url, NULL, $append) .'</div>'."\n";
}
else {
$output = '<div class="day-off">'. l(t('!month / !day', array('!month' => $month, '!day' => $day)), $url, NULL, $append) .'</div>'."\n";
}
break;
case 'list':
if ($selected) {
$output = '<div class="day-on">'. l(date_format_date('l, F j, Y', date_mktime(array('mon' => $month, 'mday' => $day, 'year' => $year))), $url, NULL, $append) .'</div>'."\n";
}
else {
$output = '<div class="day-off">'. l(date_format_date('l, F j, Y', date_mktime(array('mon' => $month, 'mday' => $day, 'year' => $year))), $url, NULL, $append) .'</div>'."\n";
}
break;
case 'day':
break;
default:
if ($selected) {
$output = '<div class="day-on">'. l($day, $url, NULL, $append) .'</div>'."\n";
}
else {
$output = '<div class="day-on">'. l($day, $url, NULL, $append) .'</div>'."\n";
}
break;
}
print $output;
}
?>
Dazu noch die CSS Formatierung
.mini-day-on {background-color:#FFFFCC;
padding:0px;
}
um die Klasse "day-on" erweitern.
Dann (template.php nicht vergessen) sollte die gelbe Markierung auch im grossen Kalender angezeigt werden.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.