:: Anbieterverzeichnis :: Globale Branchen
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort! 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
|
Aktuelles Datum in einem Kalender hervorheben (CSS-Layout)  |
|
SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
Beispielaufgabe
Aktuelles Datum soll als Monatsübersicht in einem Kalender hervorgehoben werden.
Beschreibung
Die Funktion calendarControl() erzeugt eine Kalenderdarstellung für den aktuellen Monat und hebt farblich den aktuellen Tag hervor. Bei diesem Kalender wurde vollständig auf Tabellen verzichtet und kann somit über ein Style-Sheet sehr einfach angepasst werden. Weiterhin sind Anpassungen sehr einfach durchzuführen (z.B. Verlinkung des aktuellen Tages zu einer bestimmten Webseite).
<?PHP
function calendarControl() {
/* locale auf Deutsch setzen PHP >= 4.3.0 */
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
$currentMonth = date("n");
$currentTime = time();
// Wochentag für den 1. im Monat ermitteln
$firstWeekDay = date ( 'w', mktime ( 0, 0, 0, $currentMonth, 1,
date ( 'Y' ) ) );
// Im Englischen beginnt die Wochenrechnung am Sonntag --> 0
// Daher den Wochenbeginn der nächsten Woche berechnen
$nextWeek = 7 - $firstWeekDay + 2;
// Ausgeschriebener Monat - z.B. Dezember
$year = strftime("%B", $currentTime );
// Abgekürzter Wochentag - z.B. Sa
$day = strftime("%a", $currentTime );
$calendar = "\n";
$calendar .= '<div class="calout">' . "\n";
$calendar .= ' <div class="calcellTop">' . $year . '</div>' . "\n";
// Wochentage generieren
for ( $x = $nextWeek; $x < ($nextWeek + 7); $x++ ){
$day = strftime("%a", mktime ( 0, 0, 0, $currentMonth, $x,
date ( 'Y' ) ) );
$calendar .= ' <div class="calcellday">' . $day . '</div>' . "\n";
}
$iLimit = date ( 't', mktime ( 0, 0, 0, $currentMonth, 1,
date ( 'Y' ) ) );
// Tagesanzeige generieren
for ( $i = 1; $i <= ( $iLimit + $firstWeekDay - 1 ); $i++ ) {
$iDayOfMonth = $i - $firstWeekDay + 1;
if ( $i < $firstWeekDay ) {
// Leerzellen schreiben, bis Monatsanfang
// auf den richtigen Tag der Woche faellt.
$calendar .= ' <div class="calcell"> </div>' . "\n";
}
elseif ( $iDayOfMonth == date ( 'd' )
&& $currentMonth == date( 'n' ) ) {
// Heutigen Tag, hervorheben.
$calendar .= ' <div class="calcellactive">' . $iDayOfMonth . '</div>' . "\n";
}
else {
$calendar .= ' <div class="calcell">' . $iDayOfMonth . '</div>' . "\n";
}
}
$calendar .= '</div>' . "\n";
return $calendar;
}
?>
|
Anwendungsbeispiel
<?PHP
echo calendarControl();
?>
|
Cascading Style Sheets (CSS).calout {
font-family:Tahoma, Geneva, sans-serif;
font-size:10px;
text-align:center;
width:150px;
}
.calcellTop {
float:left;
width:100%;
color:#333399;
font-size:14px;
font-weight:bold;
}
.calcellday {
float:left;
width:14%;
font-weight:bold;
}
.calcell {
float:left;
width:14%;
}
.calcellactive {
float:left;
width:14%;
background-color:#CC0000;
color:#FFFFFF;
}
|
Ausgabebeispiel: BrowseransichtApril Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
|
|
|
|


:: Anbieterverzeichnis ::
Webhosting/Serverlösungen
Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?
Sie sind nur ein paar Klicks davon entfernt! 
|