Feeds:
Beiträge
Kommentare

Posts Tagged ‘Webmoritz’

Als Programmierer beim Webmoritz war es meine ehrenvolle Aufgabe einen Adventskalender zu erstellen.

Anforderungen

Webmoritz Adventskalender

Webmoritz Adventskalender

Dabei war wichtig, dass der Kalender Wartungsfrei ist. Ich will da während des Betriebs nichts mehr von Hand machen. Für den Inhalt sollten die einzelnen Redakteure ihre eigenen Artikel schreiben und diese sollten dann ganz automatisch Tag für Tag im Kalender erscheinen.

Lösung

Zunächst dachte ich daran, die Türen in einer Lightbox zu öffnen. Weil aber der Inhalt entsprechend lang war habe ich das schnell verworfen.

Der Kalender besteht jetzt aus einem speziellen Template, nebst zugehöriger Seite. Die Türchen werden über eine eigens dafür eingerichtete Artikelkategorie geladen.

Code

<?php
/*
Template Name: Weihnachtskalender
*/
?>
<?php
get_header(); ?>
<!-- Ausgabe des Titels -->
<h2>Adventskalender</h2>

<!-- Hintergrundbild -->
<div style="background: url(*** Bildpfad *** ); width: *** Bildbreite *** px; height: *** Bildhöhe ***px; position: relative;">
<?php
/* Erzeigt einen Weihnachtskalender. Die URL des Bildes ist statisch.
 * Die Artikel werden automatisch aus einer entsprechenden Kategorie geholt
 * und müssen in dieser jewweils um 0 Uhr des Tages automatisch
 * veröffentlicht werden.
 *
 */
$monat = date("m");
$tag = date("d");
if ($monat == 12) : // nur im Dezember
// Artikel holen, älteste zuerst!

$category= ***; // entsprechende Kategorienummer
$weihnachtskalender = null;
$weihnachtskalender = new WP_Query();
$weihnachtskalender->query('&showposts='.$tag.'&cat='.$category.'&orderby=date&order=ASC');
 /* m zeilen, n spalten
 * Erzeugt 4 Spalten und 6 Reihen
 * Also 24 "Türchen"
 * Das Bild sollte 600*900 sein
 * die Türchen sind dann 100*100 und haben 40 Abstand in alle Richtungen
 */
for ($m = 0; $m < 6; $m++) {
 for ($n = 0; $n < 4; $n++ ) {
 $nummer = (4 * $m) + $n + 1;
 ?>
 <div style="width:100px; height: 100px; position: absolute; left:<?php echo ($n+1)*40+$n*100;?>px; top: <?php echo ($m+1)*40+$m*100;?>px; font-size: 32 !important; color: white; padding: auto; ">
 <?php if ($nummer <= $tag AND $weihnachtskalender->have_posts() ) : $weihnachtskalender->the_post(); ?>
 <a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"
 style="display:block; width:100px; height:100px; color: white;"><?php echo $nummer;?></a> <?php
 else : echo $nummer;
 endif; ?>
 </div>
 <?php
 }
}

endif;
 $weihnachtskalender = null;
 ?>

</div>
<!-- Aufruf der Sidebar -->
<?php include(TEMPLATEPATH . '/sidebar.php'); ?>

<?php get_footer(); ?>

Verbesserungen

Es wäre vielleicht schön gewesen, wenn die Türchen nicht in aufsteigender Reihenfolge angezeigt werden würden. Also wenn man diese verteilt wie bei einem richtigen Adventskalender. Das gibt es dann im nächsten Jahr. Weitere Vorschläge nehme ich gern entgegen.

Advertisements

Read Full Post »

%d Bloggern gefällt das: