Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Die Content Rotator Komponente

Geschrieben von: Christian Holm
Kategorie: ASP Grundlagen

This printed page brought to you by AlphaSierraPapa

Wenn Sie auf Ihrer Homepage ein wenig Abwechslung z.B. im Design wünschen und dies mit wenig Aufwand bewerkstelligen wollen ist die Content Rotator Komponente die Lösung. Sie ermöglicht es Ihnen dynamische, informationsreiche Internet-Sites zu erstellen.

Die Content Rotator Komponente ist eine weitere von der Vielzahl derer die in ASP (Active Server Pages) inkludiert ist. Sie müssen also nichts dazu installieren und in wenigen Schritten erhalten Sie eine Homepage die Ihren Clients Abwechslung in Bezug auf den Inhalt bietet.

Wichtig Unter IIS4 ist diese Komponente nicht standardmäßig installiert. Sie benötigen dazu das IIS Resource Kit (von MS Press).

Die Content Rotator Komponente

Die Komponente erzeugt das Content Rotator Objekt, welches automatisch nach dem Zufallsprinzip HTML Code (z.B Text, Bilder, Hyperlinks, etc.) rotieren läßt. Wenn ein Client auf Ihre Website zugreift bekommt er jedesmal einen neuen Inhalt zu sehen. Die Inhalte, die Gewichtung (Sie können sozusagen Schwerpunkte auf gewisse Inhalte legen, die somit häufiger gezeigt werden) der Inhalte werden aus der Content Schedule Datei bezogen. Diese im TXT-Format gespeicherte Datei beinhaltet also sämtlichen Text, die Bilder oder Hyperlinks, die Sie abwechselnd anzeigen möchten.

Diese Komponete können Sie dazu verwenden, um z.B. den Tip des Tages anzuzeigen, aktuelle Hyperlinks abwechselnd bekanntzugeben, FAQ (Frequently Asked Questions) -Listings, oder Bilder bzw. Fotos aus Ihrem Repertoire dem Client abwechselnd zu präsentieren.

Diese Content Rotator Komponente benötigt eine schon erwähnte Datei: die Content Schedule Datei. Dies ist eine Textdatei, welche die Anzeigesteuerung und die Dateiinformationen (z.B. Text, Pfade der Bilder, Hyperlinks) für den Webseiteninhalt enthält.

Diese Komponente besitzt 2 Methoden:

Das Beispiel

Dieses einfache Beispiel gliedert sich in folgende Abschnitte:

Einbindung der Komponente in die Hauptseite

Das Hinzufügen der Komponente zu Ihrer aktuellen Website oder in einer neuen ist sehr einfach. Zusätzlich zu dem Einfügen der Codezeile, welche die Instanz des Content Rotator Objekts erstellt, müssen Sie nur mit Hilfe eines ASP-Statements die Content Schedule Datei, in welcher sich die HTML-Informationen, wie z.B Text, Bilder, Hyperlinks, etc., einlesen.

Nehmen wir an, Sie möchten auf Ihrer Website dem Client den "Tip des Tages" präsentieren. Dafür eignet sich diese Komponente hervorragend. Erstellen Sie nun eine neue ASP Datei und schreiben folgenden Code:

 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2: <html>
 3: <head>
 4:   <title>Beispielseite "Tip des Tages"</title>
 5: </head>
 6: <body bgcolor="#ffffff">
 7: Wussten Sie schon...
 8: 
 9: <%
10: 'Erstellen des Content Rotator Objekts
11: Set TipODay = Server.CreateObject("MSWC.ContentRotator")
12: 
13: 'Einlesen der Infos aus der Content Schedule Datei
14: Response.Write TipODay.ChooseContent("tipoday.txt")
15: %>
16: 
17: </body>
18: </html>

In Zeile 11 wird die Instanz des Content Rotator Objekts erstellt. Mit Hilfe des ASP-Statements Response.Write (Zeile 14) wird die Content Schedule Datei eingelesen, und der ausgewählte Tip zum Client geschickt (Response.Write).

Erstellung Content Schedule Datei

Nun müssen Sie die Datei erstellen, welche in unserem Beispiel die Sammlung der Tips enthält. Das Content Rotator Objekt verwendet diese Datei um die Informationen zu verwalten und anzuzeigen.

Sie können in diese Datei jeden gültigen HTML-Code einfügen. Jeder Eintrag besteht aus zwei Teilen. Die Zeile welche die Priorität, also die Anzeigehäufigkeit und Kommentare, die der Dokumentation dienen, beginnt mit zwei aufeinanderfolgenden Prozentzeichen (%%). Die andere enthält die eigentliche HTML-Anweisung.

Syntax für einen Tip

%% #Priorität //Kommentar
HTML-Anweisung

Die Parameter bedeuten folgendes:
#Priorität

Dieser Parameter (z.B. #10) ist optional; Er gibt die Anzeigehäufigkeit der zugehörigen HTML-Anweisung an. Gültige Werte hierfür sind Zahlen von 0 bis 10000. Je höher die Zahl desto wahrscheinlicher ist die Ausführung der Anweisung. Die Auswertung der Häufigkeit erfolgt durch Bildung des arithmetischen Mittels über alle vorhandenen Häufigkeiten der Content Schedule Datei.

Beachte

  • Die Angabe von #0 ignoriert den Eintrag
  • Wenn kein Wert zugewiesen wurde, gilt der Standardwert von 1
  • Falls die Summe aller Häufigkeiten 10000 überschreitet, wird ein Fehler ausgegeben, wenn die Content Schedule Datei über die Methoden GetAllContent oder ChooseContent aufgerufen wird.

//Kommentar Hier können Sie Kommentare zu den Einträgen einfügen. Diese können bei der Siteentwicklung nützlich sein und werden natürlich nicht dem Client gezeigt. Für den Fall, daß Ihr Kommentar mehr als eine Zeile benötigt, beginnen Sie jede weitere Kommentarzeile mit doppelten Prozentzeichen (%%) gefolgt von zwei Schrägstrichen ( Forward-Slash [//])
HTML-Anweisung

Dieser String wird vom Content Rotator Objekt angezeigt. Wie schon erwähnt können Sie hier Grafiken (<img>-Tag), Hyperlinks, Sound-Dateien, HTML-Tags (auch Tables, etc.), un- oder formatierten Text.

Hinweis Die HTML-Anweisung kann auch mehrzeilig sein, weil das Content Rotator Objekt alles zwischen den doppelten Prozentzeichen (%%) wie einen Anweisungsstring behandelt.

Sehen wir uns die Verwendung nun in einem Beispiel an (tipoday.txt):

 1: %% #4 // Beispiel für Text
 2: Wenn um ASP geht – Dann ASPHeute.com
 3: %% // Beispiel für ein Bild; keine Priorität angegeben, 
 4: %% // erhält somit Wert 1
 5: <img src="ad_aspheute.png">
 6: %% #3 // Beispiel für einen Hyperlink
 7: Wo geht's zu ASPHeute.com? <a href="http://www.aspheute.com">Hier!</a>
 8: %% #2 // Beispiel für HTML-Tags
 9: <h2>ASPHeute.com</h2>
10: <p>
11: <ul>
12:   <li>Artikel rund um ASP
13:   <li>und mehr..
14: </ul>
15: </p>

Zeile 3 enthält zwei aufeinanderfolgende Kommentarzeilen; jede weitere ist wiederum mit %% //Kommentar anzugeben.

In diesem Beispiel haben wir vier Prioritätsvergaben: #4 (Beispiel für Text), #1 (Beispiel für ein Bild), #3 (Beispiel für einen Hyperlink), #2 (Beispiel für HTML-Tags), in Summe gerechnet 10. Das bedeutet, daß der Text zu 40%, das Bild zu 10%, der Hyperlink zu 30% und die HTML-Tags zu 20% ausgeführt werden

Einsatz der ChooseContent Methode

Diese Methode fordert eine HTML-Anweisung aus der Content Schedule Datei an und liefert das als String. Jedesmal wenn das Script neu abgearbeitet wird, z. B. wenn ein neuer Client die Seite öffnet oder aktualisiert, wird eine andere HTML-Anweisung angefordert.

Syntax

ChooseContent(Pfad der Content Schedule Datei)

Pfad der Content Schedule Datei gibt den physikalischen Speicherort der Content Schedule Datei an. Dieser Parameter kann entweder als relativer oder als virtueller Pfad angegeben werden.

Wenn die Content Schedule Datei (hier tipoday.txt) im gleichen Verzeichnis mit der Datei, die die ChooseContent Methode aufgerufen hat, liegt, dann können Sie entweder den vollen virtuellen Pfad angeben oder den relativen Pfad in der Content Schedule Datei angeben. Das Content Rotator Objekt ruft die Server.MapPath Methode auf, um den angegeben Pfad in ein physikalischen Verzeichnis einzumappen.

In dem folgenden Beispiel wird jeweils ein neuer Tip aus der tipoday.txt angefordert.

<% 
  Set Tip = Server.CreateObject("MSWC.ContentRotator") 
  Response.Write Tip.ChooseContent("tipoday.txt") 
%>

Einsatz der GetAllContent Methode

Diese Methode schreibt alle HTML-Anweisungen, die sich in der Content Schedule Datei befinden, in Form einer Liste, deren Einträge durch einen <hr>-Tag getrennt werden, auf die Webpage. Diese Funktion ist nützlich während der Site-Testphase oder um die Einträge zu überprüfen.

Syntax

GetAllContent(Pfad der Content Schedule Datei)

Hier noch abschließend ein Beispiel zur Verwendung der GetAllContent Methode:

<% 
  Set AlleTips = Server.CreateObject("MSWC.ContentRotator")  
%>
<%=AlleTips.GetAllContent("tipoday.txt") %>

Schlußbemerkung

Dieser Artikel sollte die Grundfunktionen der Content Rotator Komponete veranschaulichen und den Einstieg in die Verwendung so einfach wie möglich machen.

Die erzielbaren Ergebnisse sind abgesehen vom Inhalt der HTML-Codes der Content Schedule Datei optisch nicht so aufwendig gehalten wie im Vergleich zu Applets, jedoch erspart man sich ein Studium diverser Script-Sprachen. Trotzdem kommt man mit wenig Aufwand zu akzeptablen Ergebnissen.

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20000718.zip

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.