Ein PHP-basierender Kalender, welcher den aktuellen Tag markiert.
Heute gibt es ein Skript für einen PHP-basierenden Kalender! Das Skript selbst erkläre ich nicht, da es den Rahmen mehr als sprengen würde. Allerdings erkläre ich euch, wie einfach es Anzuwenden ist! Die PHP-Klasse, welche ihr benötigt, könnt ihr euch hier downloaden.
Als ersters solltet Ihr das Skript includen:
include('calendar.class.php');
Nun müsst Ihr ein neues Objekt instanzieren. Das heisst nichts anderes, als den Kalender aufzurufen und in einer Variable fest zu halten.
$kalender = new Punkt16_Calendar();
Jetzt noch die Funktion getCalendar aufrufen, und mit echo ausgeben:
echo $kalender->getCalendar();
Der komplette Code für den Standard-Kalender sieht wie folgt aus:
include('calendar.class.php');
$kalender = new Punkt16_Calendar();
echo $kalender->getCalendar();
Ihr habt nun aber englische Monats- und Tagesnamen. Um diese zu ändern, müsst Ihr beim instanzieren des Objekts ein Array mit den deutschen Namen übergeben.
Euer Array sieht so aus:
$deutscheDaten = array(
'daysLong' => array(
'Montag',
'Dienstag',
'Mittwoch',
'Donnerstag',
'Freitag',
'Samstag',
'Sonntag'
),
'daysShort' => array(
'Mo',
'Di',
'Mi',
'Do',
'Fr',
'Sa',
'So',
),
'monthsLong' => array(
'Januar',
'Februar',
'März',
'April',
'Mai',
'Juni',
'Juli',
'August',
'September',
'Oktober',
'November',
'Dezember'
),
'monthsShort' => array(
'Jan',
'Feb',
'März',
'Apr',
'Mai',
'Juni',
'Juli',
'Aug',
'Sep',
'Okt',
'Nov',
'Dez'
)
);
Falls Ihr euren Code nicht so aufblähen möchtet, hier die kurze Fassung:
$deutscheDaten=array('daysLong'=>array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag'),'daysShort'=>array('Mo','Di','Mi','Do','Fr','Sa','So',),'monthsLong'=>array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'),'monthsShort'=>array('Jan','Feb','März','Apr','Mai','Juni','Juli','Aug','Sep','Okt','Nov','Dez'));
Übergebt nun dem Objekt diese Daten:
$kalender = new Punkt16_Calendar($deutscheDaten);
Kompletter Code:
include('calendar.class.php');
$deutscheDaten=array('daysLong'=>array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag'),'daysShort'=>array('Mo','Di','Mi','Do','Fr','Sa','So',),'monthsLong'=>array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'),'monthsShort'=>array('Jan','Feb','März','Apr','Mai','Juni','Juli','Aug','Sep','Okt','Nov','Dez'));
$kalender = new Punkt16_Calendar($deutscheDaten);
echo $kalender->getCalendar();
Eure Ausgabe sieht wohl noch etwas sehr weiss aus. Deswegen benötigt Ihr noch eine passende CSS, welche dem Download oben beiliegt:
table.calendar { width:210px; border:1px solid #a6c9e2; margin:50px auto auto;}
table.calendar table.title { width:100%; height:30px; border:1px solid #c5dbec; background:#5c9ccc; text-align:center;}
table.calendar table.title td.monthBackwardA { width:30px; color:#fff; }
table.calendar table.title td.monthBackwardA a { font-size:18px; color:#fff; width:30px; height:30px; line-height:30px; display:block; text-decoration:none; }
table.calendar table.title td.monthYear { font-size:14px; line-height:30px; color:#fff;}
table.calendar table.title td.monthForwardA { width:30px; color:#fff;}
table.calendar table.title td.monthForwardA a { font-size:18px; color:#fff; width:30px; height:30px; line-height:30px; display:block; text-decoration:none;}
table.calendar td.dayName { text-align:center; font-weight:bold; }
table.calendar td.dayA { border:1px solid #c5dbec; background:#dfeffc; color:#2e6e9e; text-align:center;}
table.calendar td.dayA.dayTodayA { border:1px solid #fad42e; background:#fbec88; color:#363636;}
table.calendar td.dayA.dayOther { border:1px solid #e6f4ff; background:#f6fbff; color:#98d3ff; }
Ein Beispiel mit deutschen Namen könnt ihr euch hier ansehen: http://examples.punkt16.de/PHP/Kalender/
Ein Backlink zu www.punkt16.de ist erwünscht, aber nicht Pflicht!

[...] Dieser Eintrag wurde auf Twitter von Stancu Daniel, Florian Palme erwähnt. Florian Palme sagte: #PHP Kalender: http://bit.ly/5GucAy #Calendar #Class #Dev [...]
Kleiner Tipp:
Im CSS liegt ein Fehler vor es heißt border nicht broder
Jupp, danke dir, direkt geändert!