Leser: 3
|< 1 2 >| | 13 Einträge, 2 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#!/usr/bin/perl $| = 1; use strict; use warnings; use HTML::TreeBuilder; my $url = '/intern/proj'; # URL des ausgewählten Menüeintrags, bzw. geladene Webseite my $tree = HTML::TreeBuilder->new; # empty tree $tree->implicit_tags(0); $tree->store_comments(1); $tree->parse_file(*DATA); foreach my $t ($tree->look_down( '_tag' , 'a' )) { if ($url eq $t->attr('href')) { my $s = HTML::Element->new('b', 'class' => 'selected'); $s->push_content($t->content_list); $t->replace_with( $s ); last; } } my $html = $tree->as_HTML; $html =~ s/<html>//g; $html =~ s/<\/html>//g; print $html; $tree->delete; 1; __DATA__ <!-- ul ist immer / --> <ul> <li><a href="/">Startseite</a></li> <li><a href="/intern/proj">Projekte</a> <ul> <li>Perl</li> <li>PHP <ul> <li><a href="/php/templating_all.html">Templating</a></li> <li>Module</li> <li>CGI-Test</li> </ul> </li> <li>Blog</li> </ul> </li> <li>Devshed</li> <li>Kontakt</li> </ul>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Home
Projekte
Perl
CGI
Module
Javascript
Übersicht
Dynamische Menüs
Entwickeln
Theorie
Tools
Verwaltung
Testing
Codegenerierung
Kontakt
Impressum
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
#!/usr/bin/perl $| = 1; use strict; use warnings; use HTML::TreeBuilder; use CGI; my $url = '/intern/proj'; # URL des ausgewählten Menüeintrags, bzw. geladene Webseite my $tree = HTML::TreeBuilder->new; # empty tree $tree->implicit_tags(0); $tree->store_comments(1); $tree->parse_file(*DATA); foreach my $t ($tree->look_down( '_tag' , 'a' )) { if ($url eq $t->attr('href')) { $t->parent->attr('class', 'active'); last; } } my $html = $tree->as_HTML; $html =~ s/<html>//g; $html =~ s/<\/html>//g; print CGI::header(); print CGI::start_html(); print $html; print CGI::end_html(); $tree->delete; 1; __DATA__ <style type="text/css"> #menu {} #menu .active a{ font-weight:bold; } #menu li.active ul{ display:block; } #menu li ul { display:none; } </style> <!-- ul ist immer / --> <ul id="menu"> <li><a href="/">Startseite</a></li> <li><a href="/intern/proj">Projekte</a> <ul> <li>Perl</li> <li>PHP <ul> <li><a href="/php/templating_all.html">Templating</a></li> <li>Module</li> <li>CGI-Test</li> </ul> </li> <li>Blog</li> </ul> </li> <li>Devshed</li> <li>Kontakt</li> </ul>
GwenDragon+2009-01-16 17:53:49--Nein, auch nicht mit CSS. Ich will auch keine Frames verwenden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Home
Projekte
Perl
CGI
Module
Javascript
Übersicht
Dynamische Menüs
Entwickeln
Theorie
Tools
Verwaltung
Testing
Codegenerierung
Kontakt
Impressum
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Home
Projekte
Perl
CGI
Module
Javascript
#Übersicht
#Dynamische Menüs
Entwickeln
#Theorie
#Tools
#Verwaltung
#Testing
#Codegenerierung
Kontakt
Impressum
scriptor+2009-01-16 18:09:13--Ich hab die Seiten z. B. innerhalb eines nested set in mysql und lese entsprechend aus und erzeuge UL-Listen. Hierarchieebenen, aktive Seite und Seiten auf gleicher Ebene sind mit CSS-Klassen markiert.
GwenDragon+2009-01-16 18:27:38--Auch ohne Datenbank soll es laufen.
Denn die Menüs sollen einfach als HTML-Listen pflegbar sein.
1
2
3
4
5
6
7
8
`id` Page-ID,
`nick` Name,
`l` links,
`r` rechts,
`num` laufende Nummer,w
`level` Hierarchieebene,
`groupid` Parent-ID,
|< 1 2 >| | 13 Einträge, 2 Seiten |