News-Bereich auf MediaWiki umgestellt
Die Arbeiten der Umstellung von Papoo auf mwCMS sind abgeschlossen. Eine Extension für das MediaWiki zu schreiben ist sehr leicht und ein Plugin für das mwCMS zu erstellen ist noch einfacher. Sich Strukturen für einen Teaser-Bereich auszudenken hat etwas mehr Zeit erfordert, wobei das auch nach ca. 90 Minuten erledigt war.
Unten folgen Datenbankstruktur und der wesentlich PHP-Code für die MediaWiki-Extension.
SQL bzw. Datenbankstruktur
CREATE TABLE teaser ( id mediumint(3) UNSIGNED NOT NULL AUTO_INCREMENT, date_time datetime NOT NULL, title varchar(100) NOT NULL DEFAULT 'Header, title, short description', teaser text, image_url varchar(150) DEFAULT NULL, image_alt varchar(255) DEFAULT NULL, image_title varchar(255) DEFAULT NULL, width smallint(3) UNSIGNED DEFAULT NULL, PRIMARY KEY (id), KEY title (title) ) TYPE=MyISAM;
PHP-Code für die MediaWiki-Extension
$select = 'SELECT date_time, title, teaser, image_url, image_alt, image_title, IF(width IS NULL, 200, width) AS width FROM teaser WHERE date_time > "2008-01-01" ORDER BY date_time DESC'; $result = $db->query($select) or die('ERROR MySQL: ' . $db->error . '<pre>' . $select . '</pre>'); while ($row = $result->fetch_assoc()) { $filename_url = rawurlencode(str_replace(' ', '_', $row['title'])); // CVB 2010-09-02: Prevent Notice "Undefined variable: teaser_with_fieldset_and_legend" if (!isset($teaser_with_fieldset_and_legend)) { $teaser_with_fieldset_and_legend = ''; } setlocale(LC_ALL, 'german'); $display_month_and_year = htmlentities(strftime('%B %Y', strtotime($row['date_time']))); $teaser_with_fieldset_and_legend .= '<fieldset><legend>' . $display_month_and_year . ': ' . $row['title'] . '</legend> <img src="' . $row['image_url'] . '" alt="' . $row['image_alt'] . '" title="' . $row['image_title'] . '" style="float: right; width: ' . $row['width'] . 'px;" />' . "\n" . $row['teaser'] . '<br /> <a href="/index.php/' . $filename_url . '" title="' . $row['title'] . '">mehr ...</a></fieldset>' . "\n"; }


News
