Beitrag von markus (1013 Beiträge) am Freitag, 2.Februar.2007, 14:26.
@perlprofis - hab mich in blätterfunktion verstrickt
hallo,
ich habe mich bei ner fotoseite in eine meiner blätterfunktionen verstrickt.
das blättern "immer ein foto weiter" klappt ohne probleme.
jetzt wollte ich ein blättern, ähnlich dem pagebrowse reinsetzen, damit man einmal sehen kann, wie viele bilder in der rubrik sind und direkt auf bild nr.X klicken kann.
das anzeigen, wieviele bilder in der rubrik sind klappt, doch ich kriege einfach den link nicht hin, um auf ein bestimmtes foto zu linken.
db=fotos, sortierung nach feld "Nr" (optionsfeld mit sortierung "zahl"),
anzeige pro "Rubrik" (optionsfeld mit sortierung "text").
auf die seite wird so aufgerufen:
/cgi-bin/baseportal.pl?htx=/metzi/seite&Rubrik==Rubrikname
hier mal der ganze perl-block.
vielleicht kann mir ja jemand das brett vorm kopf wegnehmen :-)
gruß
markus
<perl>
$range=$_get{range}||"0,1";
$Rubrik||="$Rubrik";
get "Rubrik==$Rubrik range=$range sort=$Nr @_sel", "fotos";
my $range=$_range_length;
my $blaettern=$_range_length;
my $blaetter_lang=$range*10;
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "".($v==$i?"<i>".($i+1)."</i>":"<a
href=$_link&Rubrik==$Rubrik&$Nr=$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
}
}
out <<EOF;
#####################################################
ab hier klappt wieder alles
#####################################################
<td>
EOF
while(get_next(fotos))
{
$counter++;
<left>;
if($counter%1==0){$trenner = "";
}
else{$trenner = "";
}
$rubrik_html = convert_html($Rubrik);
out "<img src='/files/$Foto' height='350'>$trenner";
}
out "</td><td align=left>";
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<table><tr><td align=center class=dunkel>";
out " <a href=\"/cgi-bin/baseportal.pl?htx=/metzi/seite&Rubrik==$Rubrik&range=$oldrange,$_range_length\"><<<</a> " if $oldrange>=0;
out " <a href=\"/cgi-bin/baseportal.pl?htx=/metzi/seite&Rubrik==$Rubrik&range=$newrange,$_range_length\">>>></a>" if $newrange<$_amount_query;
</perl>
Antworten
Beitrag von Claus (4645 Beiträge) am Freitag, 2.Februar.2007, 15:08. WWW: hummelexpress.de
Re: @perlprofis - hab mich in blätterfunktion verstrickt
ein Link wäre schon hilfreich, aber mal ins blaue vermutet:
statt $Nr=$Nr in dieser Zeile
href=$_link&Rubrik==$Rubrik&$Nr=$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
mal probieren:
entweder so:
href=$_link&Rubrik==$Rubrik&Nr==$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
oder so:
href=$_link&Rubrik==$Rubrik&$Nr==$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
oder so:
href=$_link&Rubrik==$Rubrik&Nr=$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
hth
Gruß
Claus
Antworten
Beitrag von markus (1013 Beiträge) am Freitag, 2.Februar.2007, 16:28.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
nein, die linkversionen hatte ich schon probiert.
hier mal ein link zur ansicht und der aktuelle quelltext:
http://www.chickenskin.de/cgi-bin/baseportal.pl?htx=/chickenskin.de/metz/seite&Rubrik==Rubrik1
gruß
markus
<perl>
$range=$_get{range}||"0,1";
$Rubrik||="$Rubrik";
get "Rubrik==$Rubrik range=$range sort=$Nr @_sel", "fotos";
my $range=$_range_length;
my $blaettern=$_range_length;
my $blaetter_lang=$range*10;
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "".($v==$i?"<li><i>".($i+1)."</i>":"<li><a href=$_link&Rubrik==$Rubrik&range=$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
}
}
out <<EOF;
<td>
EOF
#------------------------------------------------
while(get_next(fotos))
{
$counter++;
<left>;
if($counter%1==0){$trenner = "";
}
else{$trenner = "";
}
$rubrik_html = convert_html($Rubrik);
out "<img src='/files/$Foto' height='350'>$trenner";
}
out "</td><td align=left>";
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<table><tr><td align=center class=dunkel>";
out " <a href=\"/cgi-bin/baseportal.pl?htx=/chickenskin.de/metz/seite&Rubrik==$Rubrik&range=$oldrange,$_range_length\"><<<</a> " if $oldrange>=0;
out " <a href=\"/cgi-bin/baseportal.pl?htx=/chickenskin.de/metz/seite&Rubrik==$Rubrik&range=$newrange,$_range_length\">>>></a>" if $newrange<$_amount_query;
</perl>
Antworten
Beitrag von Claus (4645 Beiträge) am Freitag, 2.Februar.2007, 16:36. WWW: hummelexpress.de
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Antworten
Beitrag von markus (1013 Beiträge) am Freitag, 2.Februar.2007, 17:30.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Antworten
Beitrag von Ulf (144 Beiträge) am Samstag, 3.Februar.2007, 20:37.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
vieleicht liegts auch am entstehenden Quellcode ?? (probieren)
durch deine <<< und >>> kommt da <<<</a> raus
guck mal
Ulf
Antworten
Beitrag von markus (1013 Beiträge) am Samstag, 3.Februar.2007, 22:39.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
hallo ulf,
nein, daran liegt es nicht.
das paßt alles :-(
markus
Antworten
Beitrag von Claus (4645 Beiträge) am Sonntag, 4.Februar.2007, 18:15. WWW: jobmarder.de
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Ich frage mich zwar momentan, wo denn nun die "Dauernörgler, Besserwisser und sonstige Schlaumeier" sind, aber egal...
So ganz erschließt sich mir noch nicht, wo du hin möchtest, also bleiben Vermutungen.
Wenn ich das also richtig sehe, möchtest du einzelne Rubriken mit dem jeweils ersten Foto ausgeben, dann Blättern mit weiterhin jeweils dem ersten Foto der Rubrik, darüber hinaus Links(anklickbare Fotos??) für die Unterrubriken?? und das auch noch alles auf der gleichen Seite/Template??
Das kann man machen, aber dann mußt Du das imho mit einer if-then-else-Ausgabe umsetzten.
Je nachdem, was gerade gefordert ist, über entsprechende Variable in den jeweiligen Links mit übergeben und intern im Template prüfen und mit entsprechenden Backlinks versehen.
z.B.
if ($var eq "1")
{
out"
<table>
Ausgabe3...
Backlink
</table>
}
elsif ($var eq "2")
{
out"
<table>
Ausgabe2...
Backlink
</table>
}
else
{
out"
<table>
Ausgabe1(normal)...
</table>
Nur mal als Ansatz.
hth
Gruß
Claus
Antworten
Beitrag von markus (1013 Beiträge) am Sonntag, 4.Februar.2007, 19:20.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
hi,
da möchte ich hin :-)
da ist eine datenbank mit fotos und jedes foto ist einer rubrik zugeteilt.
du wählst eine rubrik aus und kannst mit weiter/zurück die fotos der ausgewählten rubrik durchblättern.
will ich jetzt foto nr.11 anschauen, muß ich 11x auf weiter klicken.
es soll "einfach" eine zusätzliche blätterfunktion geben, ähnlich dem pagebrowse.
hab ich 20 fotos in der rubrik, wird mir 1-20 angezeigt, mit verlinkung auf das jeweilige foto. so kann ich direkt jedes foto der rubrik anwählen.
das hat nix mit verlinkung in andere rubriken zu tun.
es klappt alles, bis auf die zusätzliche "pagebrowse" blätterfunktion.
gruß
markus
Antworten
Beitrag von Claus (4645 Beiträge) am Sonntag, 4.Februar.2007, 23:14. WWW: jobmarder.de
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Hallo Markus,
schick mir einfach eine mail. Das ist generell kein Problem.
Gruß
Claus
Antworten
Beitrag von nitro (62 Beiträge) am Sonntag, 4.Februar.2007, 21:15.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
>> Ich frage mich zwar momentan, wo denn nun die "Dauernörgler, Besserwisser und sonstige Schlaumeier" sind, aber egal...
Alle im Urlaub, du hast doch die Sache im GRiff wie man sieht *g*
Antworten
Beitrag von Claus (4645 Beiträge) am Sonntag, 4.Februar.2007, 23:05. WWW: h
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Antworten
Beitrag von Ulf (144 Beiträge) am Montag, 5.Februar.2007, 19:43.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Antworten
Beitrag von markus (1013 Beiträge) am Montag, 5.Februar.2007, 20:02.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
hi ulf,
daran liegt es nicht.
wenn du die seite aufrufst und dann z.b. auf foto3 klickst, werden dir 2 fotos angezeigt, anstatt nur das 3. foto.
bei range wird dann 1,3 statt 3,1 draus >:(
echter sch....
markus
Antworten
Beitrag von Ulf (144 Beiträge) am Montag, 5.Februar.2007, 20:49.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
bin kein Profi !!!
<a href=$_link&Rubrik==$Rubrik&$Nr=$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
mal probieren
<a href=$_link&Rubrik==$Rubrik$Nr&range=$Nr,1$i&@_sel&sort=$sort>".($i+1)."</a>")."";
Antworten
Beitrag von ulf nochmal (1 Beitrag) am Montag, 5.Februar.2007, 20:53.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Antworten
Beitrag von nochmal Ulf (1 Beitrag) am Montag, 5.Februar.2007, 21:05.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
das $i&@_sel&sort=$sort auch raus
mal probieren
Antworten
Beitrag von nochmal der Ulf (1 Beitrag) am Montag, 5.Februar.2007, 22:00.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Antworten
Beitrag von markus (1013 Beiträge) am Dienstag, 6.Februar.2007, 11:31.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
ich sehe land :-)
danke ulf!
mit dem:
<a href=$_link&Rubrik=$Rubrik&range=$i,1>".($i+1)."</a>")."";
klappt das jetzt bis auf ein kleines problem:
das 1. foto wird nicht verlink und ich finde nicht, wo ich das ändern könnte?!
markus
$range=$_get{range}||"0,1";
get "Rubrik==$Rubrik range=$range sort=$Nr @_sel", "fotos";
my $range=$_range_length;
my $blaettern=$_range_length;
my $blaetter_lang=$range*10;
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "".($v==$i?"<li><i>".($i+1)."</i>":"<li><a href=$_link&Rubrik=$Rubrik&range=$i,1>".($i+1)."</a>")."";
Antworten
Beitrag von markus (1013 Beiträge) am Dienstag, 6.Februar.2007, 14:56.
Re: @perlprofis - hab mich in blätterfunktion verstrickt
nicht nur land gesehen, auch erreicht :-)
es klappt!
danke für die hilfe!!
gruß
markus
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "<li><a href=$_link&Rubrik=$Rubrik&range=$i,1>".($i+1)."</a>";
Antworten
Beitrag von richard (1187 Beiträge) am Dienstag, 6.Februar.2007, 08:25. WWW: posaunenchor-rhoden.de
Re: @perlprofis - hab mich in blätterfunktion verstrickt
Hallo markus,
Warum benutzt Du für die Anzeige eines einzelnen Bildes eigentlich nicht
die id des konkreten Bildes?
Der Claus hatte im übrigen auch schon mal vorgeschlagen, das einzelne Bild
auf einer gesonderten Seite anzeigen zu lassen. Im Gegensatz zu Dir halte
ich das für eine sinnvole Vorgehensweise.
Dann wäre die Entwicklung Deiner Seite wesentlich übersichtlicher. Den
funktionierenden Perl-Code könntest Du, wenn es funktioniert und dann
auch noch Interesse daran besteht, ohne wesentliche Änderungen später in
Deine zur Zeit bestehende Seite integrieren. Der "richtige" Link wäre
dann auch klarer.
Antworten