Schrift
[thread]3056[/thread]

Dynamische Navigation mit HTML::Template (Seite 2)

Leser: 2


<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
Ronnie
 2007-05-01 21:15
#28975 #28975
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
@Opi: Ja, das kann man so gut machen, solange die Navigation nicht zu komplex wird.

@tonewheel: Evtl. ist auch ein Modul wie CPAN:HTML::PopupTreeSelect::Dynamic für dich interessant?!
bloonix
 2007-05-01 21:25
#28976 #28976
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Ronnie,01.05.2007, 19:15]@Opi: Ja, das kann man so gut machen, solange die Navigation nicht zu komplex wird.[/quote]
Es geht auch hervorragend mit komplexeren Navigationen. Wenn es zu
Komplex wird und man Handstände veranstalten muss um die Navigation
zusammen zu frickelln, dann ist das Konzept falsch und man sollte
sich nochmal Gedanken machen. ;)\n\n

<!--EDIT|opi|1178040375-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Ronnie
 2007-05-01 21:38
#28977 #28977
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Ja, wohl wahr. Probleme sehe ich aber insbesondere wenn die Navigation komplett dynamisch aus einer Datenbank erzeugt werden muss.
tonewheel
 2007-05-01 22:36
#28978 #28978
User since
2006-10-01
182 Artikel
BenutzerIn
[default_avatar]
[quote=Ronnie,01.05.2007, 19:15] @tonewheel: Evtl. ist auch ein Modul wie CPAN:HTML::PopupTreeSelect::Dynamic für dich interessant?![/quote]

@ronnie: Hmmm, also das angegebene Beispiel läuft bei mir nicht, bzw. die Buttons erscheinen zwar, aber der Tree fehlt. Sollte auch eigentlich ohne Buttons sein, daher ist das wohl nicht der richtige Weg. Oder geht das damit auch?
Mit "onchange" funktioniert übrigens Dein Ajax-Beispiel, vielen Dank! Der Ansatz ist so schon richtig, auch @Opi's Beispiel geht in die Richtung. Wobei Opi's Seite komplett geladen wird und Dein Ajax-Beispiel nur teilweise, ist das richtig? Kannst Du mir erklären, wie man per hidden tag etwas an das aufgerufene Script gibt? Das Ein/Ausblenden der jeweiligen Unterknoten dürfte ja dann mit Ajax kein Problem sein!?
Ronnie
 2007-05-01 22:49
#28979 #28979
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Hallo tonewheel,
Quote
@ronnie: Hmmm, also das angegebene Beispiel läuft bei mir nicht, bzw. die Buttons erscheinen zwar, aber der Tree fehlt. Sollte auch eigentlich ohne Buttons sein, daher ist das wohl nicht der richtige Weg. Oder geht das damit auch?

Ich habe es nicht ausprobiert. Ich habe es vor Jahren mal damit rumgespielt, bzw. mit dem älteren Modul von Sam Tregar. Es ist mir nur zufällig wieder eingefallen.
Quote
Mit "onchange" funktioniert übrigens Dein Ajax-Beispiel, vielen Dank! Der Ansatz ist so schon richtig, auch @Opi's Beispiel geht in die Richtung. Wobei Opi's Seite komplett geladen wird und Dein Ajax-Beispiel nur teilweise, ist das richtig?

Es wird zumindest nicht die komplette Seite neu geladen. Bei komplexeren Seiten ist es sicher schneller.
Quote
Kannst Du mir erklären, wie man per hidden tag etwas an das aufgerufene Script gibt? Das Ein/Ausblenden der jeweiligen Unterknoten dürfte ja dann mit Ajax kein Problem sein!?

Das hängt ganz stark davon ab wie die Seite aufgebaut ist. Wenn man normale Links anklickt, was für Navigationen nicht unüblich ist, macht es evtl. Sinn einen zentralen Dispatcher zu verwenden und Links, die dann immer so aussehen (und auch dynamisch erzeugt werden sollten): dispatch.pl?controller=search;nav_state=foo, wobei der nav_state dann verwendet wird um die entsprechende Unternavigation einzublenden. Mit AJAX ist da sicher noch einiges möglich, nur habe ich von JS/AJAX vie zu wenig Ahnung um da eine qualifizierte Aussage zu treffen. Ich habe CGI::Ajax nur ins Spiel gebracht, weil ich dachte es passt schön und ich es eh mal ausprobieren wollte. Ich würde aber für Navigation immer empfehlen das diese auch ohne JS noch funktionieren sollte.

Gruß,
Ronnie
tonewheel
 2007-05-01 23:12
#28980 #28980
User since
2006-10-01
182 Artikel
BenutzerIn
[default_avatar]
[quote=Ronnie,01.05.2007, 20:49]Wenn man normale Links anklickt, was für Navigationen nicht unüblich ist, macht es evtl. Sinn einen zentralen Dispatcher zu verwenden und Links, die dann immer so aussehen (und auch dynamisch erzeugt werden sollten): dispatch.pl?controller=search;nav_state=foo, wobei der nav_state dann verwendet wird um die entsprechende Unternavigation einzublenden.
[/quote]
Hmmm...als relativer Anfänger sagt mir das leider nicht viel. Kannst Du's etwas vertiefen, ggf. an einem Beispiel erklären?

Danke und Gruß
Ronnie
 2007-05-01 23:23
#28981 #28981
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=tonewheel,01.05.2007, 21:12]Hmmm...als relativer Anfänger sagt mir das leider nicht viel. Kannst Du's etwas vertiefen, ggf. an einem Beispiel erklären?[/quote]
Ganz stark vereinfacht:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl

use strict;
use warnings;

use CGI;
use CGI::Carp qw/warningsToBrowser fatalsToBrowser/;

my $q = CGI->new;

my @links = qw/foo bar buz/;
my $selected = $q->param('sel') || 'World';

my $o = $q->header . $q->start_html . $q->h1( 'Hello ' . $selected );
$o .= $q->a({href => $q->url . '?sel=' . $_}, $_) . $q->br for @links;
$o .= $q->end_html;

print $o;
tonewheel
 2007-05-01 23:50
#28982 #28982
User since
2006-10-01
182 Artikel
BenutzerIn
[default_avatar]
[quote=Ronnie,01.05.2007, 21:23]
Ganz stark vereinfacht:
Code: (dl )
1
2
#!/usr/bin/perl
...
[/quote]
Puh..., jetzt komme ich nicht mehr mit... Ich weiss nicht, was ein zentraler Dispatcher ist, bzw. ob es genau das Skript hier ist, noch, wie die Variablen da reinspielen und wie das Ganze zum Rest (also dem eigentlichen Template, etc) dazu gehört. Vielleicht sollte ich hier einen Strich ziehen... Trotzdem danke.

Gruß
Ronnie
 2007-05-01 23:58
#28983 #28983
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=tonewheel,01.05.2007, 21:50]Puh..., jetzt komme ich nicht mehr mit... Ich weiss nicht, was ein zentraler Dispatcher ist, bzw. ob es genau das Skript hier ist, noch, wie die Variablen da reinspielen und wie das Ganze zum Rest (also dem eigentlichen Template, etc) dazu gehört. Vielleicht sollte ich hier einen Strich ziehen... Trotzdem danke.

Gruß[/quote]
Moment, das Beispiel ist wirklich nur ein ganz simples CGI. Kein Template, kein sonst irgendwas, nix außergewöhnliches. Es werden lediglich Links erzeugt, die per GET Parameter zurück an das Skript übergeben werden. Absolut klassisches CGI. Dieser Parameter wird abgefragt und verwendet um die Überschrift zu ändern.

Nur nicht beunruhigen lassen ;)
tonewheel
 2007-05-02 00:25
#28984 #28984
User since
2006-10-01
182 Artikel
BenutzerIn
[default_avatar]
Hallo Ronnie,

das ist schon klar, aber ich habe etwas die Zusammenhänge verloren. Wo müsste dieses Skript praktisch stehen? Ist es das Gleiche, das auch das Template aufruft und den Content darstellt (da Du von "zentral" sprichst, scheint das nicht der Fall). Und was genau meinst Du mit "controller=search"?

[quote=Ronnie,01.05.2007, 21:58]
Nur nicht beunruhigen lassen ;)[/quote]
Nee ;) Aber frustrierend kann es trotzdem sein, wenn man nur wenig versteht.

Gruß
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2007-05-01 13:11.