MSWC - Content Linking
Förord
Det finns diverse olika komponenter och objekt inom ASP. Dels har vi de inbyggda objekten. Med installationen av IIS följer också några andra trevliga komponenter som man kan använda. Vi ska titta på några av dessa. I första kapitlet tar vi oss en titt på komponenten Content LinkingInnehåll
»»
»
»
Content Linking
En av komponenterna som medföljer installationen av IIs 5.0 är Content Linking. Med den kan man skapa automatiska länkar mellan olika sidor på en webbplats. Det här är något som är bra om man exempelvis har någon typ av instruktionsbok med många sidor som ska följas i tur och ordning.Då brukar man ju ha länkar till föregående sida och nästa sida. Ifall man sedan ska ändra om ordningen på dessa sidorna ta bort eller lägga till sidor, så måste man gå in och ändra länkarna på varje sida. I annat fall är risken den att man råkar ut för en länk som inte leder någon vart. Och när kedjan väl är bruten dröjer det inte många sekunder förrän användaren gett upp och surfat bort från sidan.
Komponenten Content Linking fungerar så att ordningen på alla sidorna finns specificerade i en enda liten textfil. Därifrån hämtas informationen om vart länkarna ska gå. Dessutom kan man lägga in en liten beskrivning över innehållet i varje sida.
följande metoder ingår i objektet:
Metod | Beskrivning |
---|---|
GetListCount | Antal rader i textfilen. |
GetListIndex | Numret för den aktuella sidan i textfilen. |
GetNextURL | URL:en för nästa sida i textfilen. |
GetPreviousURL | URL:en för föregående sida i textfilen. |
GetNextDescription | Beskrivningen för nästa sida i textfilen. |
GetPreviousDescription | Beskrivningen för föregående sida i textfilen. |
GetNthURL | URL:en för en bestämd sida i textfilen. |
GetNthDescription | Beskrivningen för en speciell sida i textfilen. |
Textfilen
För att kunna använda sig av objektet måste man ha en vanlig textfil. Den innehåller namnen på de olika sidor man vill länka samman. I vårt exempel har vi döp den här filen till list.txt.sida1.asp | Beskrivning 1 | Dold kommentar |
sida3.asp | Beskrivning 2 | Dold kommentar |
sida3.asp | Beskrivning 3 | Dold kommentar |
Indexeringen börjar med en etta för den första raden i filen.
Först skriver man in namnet på den fil som ska ingå, Sedan gör man en tabb-tryckning till nästa kolumn för att lägga in en beskrivning av sidan. Det är viktigt att man tabbar och inte använder mellanslag. därefter kan man, om man vill, lägga in ett kommentarfält som inte kommer att synas i ASP-filerna. Efter varje rad gör man ett enter-slag. Sedan sparas filen med filändelsen .txt.
Skapa Objektet
På varje sida som ska ingå instansierar man objektet:
<% Set NextLink = Server.CreateObject("MSWC.NextLink")%>
Så ska det magiska länkarna genereras:
<%=NextLink.GetNextDescription("list.txt")%>
Metoden GetNextURL hämtar nästa URL ur textfilen list.txt, alltså namnet på den fil som kommer efter den nuvarande i listan. När man sedan klickar på länken så kommer man att transporteras dit. Vill man även ha ett beskrivande länknamn så är det ju smidigt att hämta det från fältet med beskrivning i textfilen. Med GetNextDescription får man beskrivningen för efterkommande sida.
För säkerhets skull bör man kontrollera att man inte är på den sista posten i listan, för då får man en länk som inte keder någon vart. Detta sker genom att man jämför det nuvarande indexnumret med det totala antalet poster i textfilen.
<%
if (NextLink.GetListIndex("list.txt") < NextLink.GetListCount("list.txt")) then
%>
<%=NextLink.GetNextDescription("list.txt")%>
<%End if%>
GetListIndex skickar tillbaks indexnumret för den befintliga sidan, förutsatt att filnamnet finns med där. Med metoden GetListCount får man det totala antalet poster i listan.
Även länkar för föregåande sidor skapas:
<%
if (NextLink.GetListIndex("list.txt") > 1) then
%>
<%=NextLink.GetPreviousDescription("list.txt")%>
<%End if%>
Så först gäller det också att kontrollera att man inte är på den allra första posten i listan, som har indexnumret ett. Namnet på den föregående sidan hämtas med metoden GetPreviousURL. I länknamnet bäddas beskrivningen för sidan in med GetPreviousDescription.
Dynamisk Länkmeny
En fullständig meny med länkar till alla sidor är något man ofta har i huvudsidan. genom ass ange en indexsiffra för metoden GetNthURL och GetNthDescription kan man hämta en bestämd sida med beskrivning.förutom att ange namnet på den textfil man hämtar informationen från så anget man också det speciellt index för den post man ska hämta. På så sätt kan man skapa länkar oberoende av vilken position de har i den specifierade listan. GetNthURL hämtar den URL man vill ha och motsvarande GetNthDescription hämtar beskrivningen.
<% Set NextLink = Server.CreateObject("MSWC.NextLink")
Antal = NextLink.GetListCount("list.txt")
for i = 1 to Antal%>
<%=NextLink.GetNthDescription("list.txt",i)%>
<%Next%>
I exemplet ovan loopas innehåller i textfilen igenom. Det är allt som krävs för att sidan ska spotta ur sig en fullständig lista med alla länkar.
0 Kommentarer