Geschrieben von: Christian Holm
Kategorie: ASP Grundlagen
This printed page brought to you by AlphaSierraPapa
Eine Website mit einigen Unterseiten sollte immer eine Navigationsmöglichkeit bieten. Eine einfache Möglichkeit hierzu bietet die Verwendung der Content Linking Komponente. Diese ermöglicht es, Ihre Site wie ein Buch zu präsentieren bzw. zu organisieren. Auch wenn weitere Seiten hinzukommen, ist der Aufwand gering, diese nachträglich einzubinden.
Die Content Linking Komponente ist bereits ab dem Internet Information Server (IIS) Version 4 verfügbar, und wird standardmäßig mitinstalliert.
Voraussetzungen für die Verwendung der Komponente:
Um diese Komponente zu verwenden gehen Sie wie folgt vor:
Bei Sites mit mehreren Unterseiten mußten Sie diese mit Links verknüpfen, um diese aufzurufen. Bei nachträglichen Site-Aktualisierungen bei denen sich die Sitestruktur geändert hat, d. h. Unterseiten hinzugefügt oder entfernt wurden, mußten Sie diese "Verknüpfungs-Links" händisch aktualisieren. Bei umfangreichen Sites kann dies unter Umständen zu Fehlern führen. Mit dieser Komponente, welche in ASP inkludiert ist und wie schon erwähnt, mit IIS mit installiert wird, bietet sich eine einfache Möglichkeit an dies zuvermeiden.
Erstellen Sie eine Datei, welche aus der Inhaltstextdatei die benötigten Navigationsinformationen ausliest z.B. linkinhalt.asp. Diese wird als Includedatei ausgelegt, die an mehreren Stellen wiederverwendet werden wird.
Diese Datei ist das Inhaltsverzeichnis Ihrer Website und wird im TXT-Format abgespeichert. Sie enthält die URLs der Seiten die innerhalb der Site verlinkt werden sollen, deren Beschreibung und eventuell ein Kommentar. Die Trennung der Informationen erfolgt durch Tabulatoren, damit die Komponente die Informationen richtig einliest. Im folgenden Beispiel sind die Tabulatoren durch den String <TAB> gekennzeichnet.
Beispiel einer Content Linking List Datei (z.B. inhalt.txt):
1: default.asp<TAB>Hauptseite 2: sub1.asp<TAB>Unterseite 1 3: sub2.asp<TAB>Unterseite 2 4: sub3.asp<TAB>Unterseite 3
Sie können jede beliebige Datei welche auf Ihrem lokalen Serververzeichnis physikalisch gespeichert ist, angeben. URLs die nicht auf ihrem lokalen Serververzeichnis vorhanden sind, also "http:// - URLs" werden von der Komponente nicht unterstützt und ignoriert.
Beachte Sie sollten Mehrfacheinbindungen von ein und derselben Seite vermeiden. Wenn Sie also in Ihrer Content Linking List Datei die folgende Reihenfolge stehen haben: Hautpseite-Seite A- Seite B- Seite A- Seite C, werden Sie wenn Sie auf der Seite B sind und auf die Nächste wechseln wollen, wieder auf die Seite A verwiesen. Das kommt daher, da die Content Linking List Datei sequentiell vom Anfang ausgelesen wird.
Alle Links zu den Seiten werden mit ihrer URL und einer Beschreibung in einer Textdatei ("Content Linking List Datei") gespeichert, die Sie bereits in der vorangegangenen Sektion kennengelernt haben. Ändern Sie diese, so wird das Site-Inhaltsverzeichnis und die Links automatisch aktualisiert - und zwar mit Hilfe der Content Linking Komponente.
Content Linking Komponente unterstützt folgende Methoden:
Methode | Beschreibung |
---|---|
GetListCount | Gibt die Anzahl der Elemente in der Content Linking List Datei zurück |
GetListIndex | Zeigt den Index der aktuellen Seite in der Content Linking List Datei. Wenn man als Ergebnis Null (0) erhält, ist die Seite nicht in der Datei enthalten. |
GetPreviousURL | Gibt die URL der vorigen Seite in der Liste zurück; wenn die aktuelle Seite nicht Element der Liste ist wird der erste Eintrag der Liste zurückgegeben. |
GetNextURL | Gibt die URL der nächsten Seite in der Liste zurück; wenn die aktuelle Seite nicht Element der Liste ist wird der letzte Eintrag der Liste zurückgegeben. |
GetPreviousDescription | Zeigt die Beschreibung des vorigen Links der Liste |
GetNextDescription | Zeigt die Beschreibung des nächsten Links der Liste |
GetNthURL | Gibt die URL des n-ten Elements der Liste zurück; falls es weniger als n Elemente gibt wird das Letzte der Liste zurückgegeben. |
GetNthDescription | Zeigt die Beschreibung des n-ten Elements der Liste |
Mit Hilfe dieser Methoden als auch der Content Linking List Datei (inhalt.txt) kann man ASP Seiten einfach verknüpfen. Damit diese Funktionalität nicht über mehrere Seiten verstreut und somit dupliziert wird, habe ich die Funktionalität in eine Datei Namens linkinhalt.asp zusammengefasst:
1: <% @LANGUAGE = "VBScript" %> 2: <% 3: ' Option Explicit 4: 5: ' Variablen definieren 6: Dim ListCount,ListIndex, PrevURL,NextURL 7: Dim PrevDesc,NextDesc,CurrDesc 8: Dim objContLink 9: 10: ' Das NextLink Objekt erstellen 11: Set objContLink = Server.Createobject("MSWC.NextLink") 12: 13: ' Verwendung einiger Methoden der Component Linking Komponente 14: ' um Informationen der beinhaltenden URLs zu erhalten 15: ListCount = objContLink.GetListCount("inhalt.txt") 16: ListIndex = objContLink.GetListIndex("inhalt.txt") 17: PrevURL = objContLink.GetPreviousURL("inhalt.txt") 18: NextURL = objContLink.GetNextURL("inhalt.txt") 19: PrevDesc = objContLink.GetPreviousDescription("inhalt.txt") 20: NextDesc = objContLink.GetNextDescription("inhalt.txt") 21: CurrDesc = objContLink.GetNthDescription("inhalt.txt", ListIndex) 22: Response.Write("<table width='100%'><tr>") 23: 24: ' Überprüfen ob es die erste Seite ist, damit nicht eine 25: ' ungültige URL angezeigt wird 26: If ListIndex <> 1 Then 27: Response.Write("<td align=left><A HREF=" & PrevURL & _ 28: ">" & PrevDesc & "</A></td>") 29: End If 30: 31: ' Überprüfen ob es die letzte Seite ist, damit nicht eine 32: ' ungültige URL angezeigt wird 33: If ListCount <> ListIndex Then 34: Response.Write("<td align=right><A HREF=" & NextURL & _ 35: ">" & NextDesc & "</A></td>") 36: End If 37: Response.Write("</tr></table>") 38: Response.Write("<hr>") 39: 40: ' Aktuelle Seitenbeschreibung schreiben 41: Response.Write("<br><br><center><h2>" & _ 42: CurrDesc & "</h2></center>") 43: 44: Set objContLink = Nothing 45: %>
Zeile 5 bis 11: Hier werden die benötigten Variablen deklariert, und das NextLink Objekt erstellt.
Zeile 15 bis 22: Verwendung einiger Methoden der Component Linking Komponente um Informationen aus der Content Linking Datei zu erhalten, wie z.B. die nächste URL, vorige URL, die Beschreibung der URL. Diese Informationen werden aus der inhalt.txt Datei gewonnen. Beschreibung der einzelnen Methoden siehe oben.
Wir haben jetzt den Sourcecode für das Linken von Seiten - es fehlen uns jetzt noch einige Testseiten. Diese sollten sinnvollerweise die Namen der URLs aus der Content Linking List Datei haben (ok, das war nun aber zu offensichtlich <g>).
Hier sei ein Beispiel der ersten Seite angegeben (default.asp):
1: <html> 2: <head> 3: <title>Hauptseite</title> 4: </head> 5: <body> 6: <!-- #include file="linkinhalt.asp" --> 7: <hr> 8: Das ist die Startseite 9: </body> 10: </html>
In Zeile 6 wird die Datei linkinhalt.asp eingebunden, welche den Navigationscode enthält. Die ASP Datei selbst hat keinen anderen VBScript Code aufzuweisen.
Der folgende Screenshot zeigt die Startseite im Explorerfenster:Da dies die Startseite bzw. der erste Listeneintrag der Datei inhalt.txt ist, wird hier nur die nächste URL - "Unterseite 1" - angezeigt.
Der folgende Screenshot zeigt die erste Unterseite "Unterseite 1" im Explorerfenster:
Da dies nicht mehr der erste Listeneintrag der Datei inhalt.txt ist, wird hier sowohl die vorige URL "Hauptseite" als auch die nächste URL "Unterseite 2" angezeigt.
Dieser Artikel beschreibt die grundsätzliche Einbindung der Content Link Komponente in Websites. Dem Artikel lag nur ein grundsätzliches Beispiel zugrunde, um dem Leser einen möglichst einfachen Einstieg zu ermöglichen. Natürlich können die Funktionen der Komponente für weitere Dinge ausgebaut werden - Inhaltsverzeichnisse, zum Beispiel.
This printed page brought to you by AlphaSierraPapa
Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20000705.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.