| |
[ 10. May 2000]
- Jany_Masaryk
Vkladané dynamické menu pomocou ASP
Posledne som riešil problém dynamického menu. Na skupine
stránok sa malo
zobrazovať rovnaké menu s tým, že linka vedúca na práve
aktuálnu stránku
mala byť pasívna, t.j. miesto linky tam mal byť iba čistý
text.
Riešil som
to jednoduchým vkladaním menu. Riešenie sa skladá minimálne z
dvoch súborov:
- DynamicMenu.asp .... vkladané menu
- Stranka1.asp .... zobrazovaná stránka
Tvorba DynamicMenu.asp
V súbore DynamicMenu môžeme nájsť tento kód :
<table WIDTH="95%" ALIGN="center" BORDER="0" CELLSPACING="0" CELLPADDING="3">
<tr>
<td>
<h2>Menu</h2>
<%=AddMenu(PageNumberForMenu)%>
</br>
<hr>
</td>
</tr>
</table>
<%
Function AddMenu(ActivLinkToPage)
Dim LinksActive, LinksPasive 'array of links
Dim iPointer
Const HowManyLinks = 2 'how many links in menu
LinksActive = Array("","<font size='-1'> <A
href='Stranka1.asp'>Stranka 1</a><//br></font>","<font
size='-1'> <A href='Stranka2.asp'>Stranka
2</a></br></font>")
LinksPasive = Array("","<font size=-1> Stranka
1<br></font>","<font size='-1'> Stranka
2<br></font>")
AddMenu = ""
For iPointer = 0 To HowManyLinks
If ActivLinkToPage = iPointer Then
AddMenu = AddMenu & LinksPasive(iPointer)
Else
'Response.Write(iPointer)
AddMenu = AddMenu & LinksActive(iPointer)
End If
Next
End Function
%>
V prvej časti definujeme samotný výzor menu a voláme funkciu
AddMenu. V
druhej časti nájdeme samotnú funkciu AddMenu. V nej sú podstatne tieto
premmené :
- HowManyLinks počet použitých liniek
- LinkActive pole s aktivnymi linkami, t.j. normálne linky
- LinkPasive pole s rovnakými premennými ako LinkActive len
bez odkazov,
t.j. bez tagov <a href></a>
Ak sú správne zaplnené premenné, zbehne nám cyklus, ktorý
vygeneruje menu.
Všimnime si, že to funkcie vstupuje premenná PageNumberForMenu.
Tá udáva číslo linky, ktorá sa má zobraziť pasívne, teda iba
textovo. Ak sa
pozrieme na pole LinkActive vidíme tri prvky. Prvý prvok je
prázdny. Druhý
tvorí linka na "Stranku1.asp" a tretí na "Stranka2.asp". Teda
pre linku na
stránku "Stranka1.asp" platí číslo 1, pre linku na stránku
"Stranka2.asp"
platí číslo 2, ..... liniek môžeme dať koľko chceme.
Nezabudnime iba zmeniť
premennú HowManyLinks a pôjde to. Výhoda riešenia je jasná :
administrácia
liniek na jednom mieste.
Samotné vloženie menu.
<%@ Language=VBScript %>
<%Response.Expires = 0%>
<%
On error Resume Next
Err.Clear
Dim PageNumberForMenu
PageNumberForMenu = 1
%>
<html>
<head>
<meta content="text/html; charset=windows-1250"
http-equiv="Content-Type">
<title>Menu Example</title>
</head>
<body>
<!--</body>
</html>
Tu je uvedený príklad stránky "Stranka1.asp". Ako vidíme vloženie menu
prebieha veľmi hladko. Pomocou premennej PageNumberForMenu
zadefinujeme
poradie linky a potom už iba pomocou SSI direktívy vložíme súbor s
dynamickým menu.
|
|
| |
|
"Vkladané dynamické menu pomocou ASP" | Login / vytvor konto | 0 Komentárov |
|
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok. |
|