Navigation durch Webseiten mit Hilfe der Content Linking Komponente
Geschrieben von: Christian Holm 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: Erstellen der Content Linking List DateiBei 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. Einbinden der Content Linking KomponenteAlle 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:
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. Seiten erstellenWir 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. SchlußbemerkungDieser 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. Download des CodesKlicken Sie hier, um den Download zu starten. Wenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |