Beispiel
Rechts in der Kontext-Spalte sehen Sie » hier eine Nachrichten-Box. Diese Box kann sowohl aus der Seite, als auch von extern befüllt werden. Gibt es keine Nachrichten, erscheint die Box nicht.
Bugfix:
30.1.2008:
Modifikation nur in Skripten, um Unterseiten eigene News (Seitenname+".news") zu geben.
31.1.2008:
filectime durch filemtime in navigation.ccml Block ersetzt, um korrektes Datum zu ermitteln
1. Downloaden der CSS-Datei
Die notwendigen Dateien können sie hier [17 KB] downloaden, sobald Sie eine Anmeldung haben.
2. Hintergrundgrafik speichern
Die Grafik aus dem Archiv (oben) downloaden und ebenfalls im Design-Verzeichnis speichern. Diese Grafik muss man ggf. mit einem Photo-Editor in Breite und Höhe anpassen. Ebenfalls läßt sich der Farbton der Zeitung festlegen. Auch können Sie ein ganz anderes Motiv verwenden, wenn Sie wollen.
Das beiliegende Bild ist auch nicht exakt das Bild, das ich derzeit verwende. Ich habe es leicht schmäler machen müssen, da meine Kontextspalte nicht so breit ist, und dann habe ich das Papier noch etwas "vergilbt". Das ist dann aber reine Geschmackssache.
3. Style und Bild deklarieren
In die "global.ccml" zwei Zeilen anhängen. Die erste Zeile macht das Bild im Projekt bekannt, und die zweite Zeile macht die CSS-Styles bekannt. Damit werden beide Ressourcen beim Veröffentlichen mitgenommen.
<cc:picture obj="pic.zeitung" dst="zeitung.bmp" src="pic_zeitung_komplett.bmp">
<cc:asset src="style_news.css" dst="snews.css" obj="snews">
4. In der Navigation Styles laden
Relativ am Anfang, stehen bereits mehrere Zeilen beginnend mit <link rel="stylesheet". Einfach nach den Zeilen folgende Zeile einfügen. Damit wird die CSS-Datei jetzt genutzt. Im letzen Schritt haben wir dem Projekt nur gesagt: Es gibt diese Datei, und hier sorgen wir dafür, dass der Browser an der richtigen Stelle diese Daten findet.
<link rel="stylesheet" type="text/css" href="<cc:print value="&snews.url">" />
5. Die Ausgabe layouten
An der richtigen Stelle in der Navigation.ccml wird folgender PHP-Code eingefügt. Sinnvollerweise ist dies unter den Menüs oder am Anfang der rechten Kontextspalte. Mit dem PHP Code muss die Erweiterung aller Seiten PHP werden. Dazu in web2date unter Startseite / Projekt-Eigenschaften / HTML-Optionen die HTML-Dateiendung "html" mit "php" überschreiben.
<?php
$scriptname = preg_replace("/^.*\//","",$_SERVER['REQUEST_URI']);
$scriptname = explode("?",$scriptname);
$scriptname = $scriptname[0];
if (file_exists($scriptname.".news"))
{ $ndatei = fopen($scriptname.".news","r");
echo "<p class=\"date\" style=\"border:0px;\"><span style=\"color:#000000;\"> </span></p><div id=\"topicnews\"><p class=\"date\">";
echo date("F d Y H:i.", filemtime($scriptname.".news"));
echo "</p><p class=\"text\">";
while (!feof($ndatei))
{ $current_line = fgets($ndatei); echo $current_line;}
echo "</p><br /></div>"; fclose($ndatei); }
?>
6. Einen Nachrichtentext setzen
Eine News wirk immer auf einer einzelnen Webseite. Soll eine News auf mehreren Seiten ausgegeben werden, kann der HTML Absatz in die Kontextspalte eingefügt werden. Dann wirkt er auf jeder Seite
Die Grundlogik ist: Wenn diese Seite aufgerufen wird, schreibt sie eine "NEWS-Datei". Beim nächsten Besucher ist die News schon da. bzw. wenn der HTML Absatz ausgegeben wird, bevor im Seitenaufbau das Layout aufgerufen wird, dann ist der Text sofort verfügbar
In den zweiten Teil von fwrite($datei,“……“); kann zwischen den Anführungszeichen ein HTML Code eingegeben werden. Das ist a) reiner Text, oder b) alternativ auch HTML-Sequenzen. Achtung auf Umlaute, die sollten HTML-konform geschrieben werden, sonst gibt es Validierungsfehler (ist aber nur ein Schönheitsproblem).
Folgenden Code in einen HTML Absatz einfügen:
<?php
$scriptname = preg_replace("/^.*\//","",$_SERVER['REQUEST_URI']);
$scriptname = explode("?",$scriptname);
$scriptname = $scriptname[0];
$ndatei = fopen($scriptname.".news","w");
fwrite($ndatei, "<br /><strong>Die Seite ist live!</strong><br /><br />");
fwrite($ndatei, "Schauen Sie sich diese<br />schönen Seiten an.<br /><br /> Wir haben und wirklich viel<br />Mühe gegeben! ");
fwrite($ndatei, "<br /><br /><strong>e-Consultance.de</strong>");
fclose($ndatei);
?>
7. Eine Nachricht löschen
Um eine News zurückzunehmen, nutzt man folgenden Code in einem HTML-Absatz. Mit diesem PHP Befehlen wird die aktuelle "news.dat" nach "trash.dat" umbenannt und damit nicht mehr ausgegeben.
Logik: Wenn dieser HTML Code aufgerufen wird, benennt er "NEWS-Datei" um.
Je nachdem, wo der Absatz in der Seitenausgabe folgt, kann es sein, dass erst mit dem nächsten Besucher die Date gelöscht wird.
<?php
$scriptname = preg_replace("/^.*\//","",$_SERVER['REQUEST_URI']);
$scriptname = explode("?",$scriptname);
$scriptname = $scriptname[0];
rename($scriptname.".news", "trash.dat");
?>
8. Nachrichten extern managen
In jedem Verzeichnis der Webpage wird nach einer Datei mit dem Seitennamen und der Erweiterung ".news" gesucht. z.B. "/index.php.news". Existiert diese Datei, wird das Layout und darüber der Inhalt ausgegeben. Sonst wird gar nichts ausgegeben. D.h. dieses New-Objekt ist dann unsichtbar. Die Datei kann per FTP also auch von außen zur Verfügung gestellt bzw. gelöscht werden. Die Integration des Seitennamens war notwendig, damit auch Unterseiten eigene News haben können.
Bei Bedarf
Das Script funktioniert mit PHP4 und 5 (zumindest sollte es das ;-). Wenn Sie Interesse haben, melden Sie siich gerne bei mir.
Grafiken können Sie durch die normalen Internet Browserfunktion "Bild speichern als" herunterladen. Alle Grafiken sind urheberrechtlich geschützt und dürfen leider nicht weiterverwendet werden. Für von e-Consultance erstellte Grafiken und Darstellungen können Sie auf » Anfrage
eine entsprechende Nutzungserlaubnis erhalten.