Beitrag von Micha Jost (347 Beiträge) am Dienstag, 14.Mai.2002, 16:58.
Blätterfunktion hängt
Hallo,
bei diesem Template mit integrierter Volltextsuche
http://rathaus-buerstadt.de/baseportal/Linkliste
hängt die Blätterfunktion. Range ist auf 10 eingestellt. Er erkennt zwar, dass noch was kommen müsste (weiter) aber beim umblättern erscheinen nur die "bekannten" Gesichter.
Danke für Tipps.
Gruß
Micha
<html><title>Linkliste</title>
<body bgcolor="#ffffff">
<include src=style>
</head>
<form action="baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
<input type="hidden" name="htx=" value="$htx">
<font size=2 face=verdana>Volltextsuche:</font> <input type="text" name="_fullsearch~~" value="$_fullsearch">
<input type="submit" value="Suchen">
</form>
<perl>
return if $_fullsearch eq "";
get "fullsearch_match=10";
while(get_next)
{
$Name=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
$Bezeichnung=~ s#$_fullsearch_regex#<b><font color=red>$1</font></b>#g;
$out.=<<EOF;
<b><font size=2 face=verdana>$Name, $Bezeichnung, $Ort</b></font><br><font size=1 face=verdana,arial,helvetica><br>
<img src="http://www.rathaus-buerstadt.de/bilder/datenpunkt.gif" width="12" height="9" align="absmiddle">Internet:<a href="http://$URL">$URL</a></font></p><hr></font>
EOF
}
if ($_fullsearch_amount<1)
{
out "<font size=2 face=verdana, arial><b>Ihre Suchabfrage ergab leider keinen Treffer.</b></font><p>";
} else
{
out "<font size=2 face=verdana, arial><b>Ihre Suchanfrage ergab $_fullsearch_amount Treffer (rot markiert)</b></font><p><hr>";
}
out $out;
my $newrange=$_fullsearch_range+$_fullsearch_range_length;
my $txt;
if($_fullsearch_match_pos<$newrange)
{
$txt="Suche nach weiteren Treffern";
$newrange=$_fullsearch_match_pos;
} else
{
$txt="Suche in weiteren Datensätzen";
}
if($newrange<$_amount_all)
{
out "<font size=2 face=verdana, arial>Es wurde noch nicht in allen Datensätzen gesucht:</font>";
out "<a href=\"baseportal.pl?htx=$htx&_fullsearch~~".convert_url($_fullsearch). "&fullsearch_range=$newrange,$_fullsearch_range_length\">$txt</a>";
} else
{
out "<font size=2 face=verdana, arial>Die Datenbank wurde komplett durchsucht.<br><br></font>";
}
$_fullsearch_amount;
</perl>
<perl>
get "Id==* sort=Kategorie,Name range=0,10", "Linkliste";
while(get_next("Linkliste"))
{
out "<br><table width=\"75%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td bgcolor=#FF9900><font face=verdana, arial font size=2><b>Kategorie: $Kategorie<br></b></font></td>
</tr>
</table>" if $Kategorie ne $Kategorie_alt;
out "<blockquote>
<font face=verdana, arial font size=2>$Name<br><font>";
out "<font face=verdana, arial font size=2><img src=\"http://www.rathaus-buerstadt.de/bilder/datenpunkt.gif\" width=\"12\" height=\"9\" align=\"absmiddle\"> Internet:<a href=http://$URL target=\"_blank\">$URL</a></font><br></blockquote>";
$Kategorie_alt=$Kategorie;
}
</perl>
<p align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<perl>
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<< <a href=\"$_link&range=$oldrange,$_range_length\">Zurück</a> " if $oldrange>=0;
out "<a href=\"$_link&range=$newrange,$_range_length\">Weiter</a> >>" if $newrange<$_amount_query;
</perl>
</font>
<include src=footer>
</body></html>
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 14.Mai.2002, 20:24.
Re: Blätterfunktion hängt
Bei dem zweiten <perl>...</perl>-Abschnitt gleich die erste Zeile:
get "Id==* sort=Kategorie,Name range=0,10", "Linkliste";
Hier hast Du explizit "range=0,10" hingeschrieben - also macht er das auch immer so. Willst Du das über die URL variabel machen, muss es so aussehen:
get "Id==* sort=Kategorie,Name range^=0,10", "Linkliste";
also mit ^ Dach... ,-)
Antworten
Beitrag von Micha Jost (347 Beiträge) am Dienstag, 14.Mai.2002, 22:10.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Hallo Christoph,
auch mit ^Dach tut´s nicht.
Kann es sein, dass sich die ganzen range Variablen der Volltextsuche und der eigentlichen Blätterfunktion unten im Template gegenseitig ein bischen behindern.
Gruß
Micha
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 16.Mai.2002, 02:34.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Antworten
Beitrag von Robert Ott (26 Beiträge) am Donnerstag, 16.Mai.2002, 10:53.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Hallo Micha
Hast Du die Miet- oder die Lizenzversion ?
Wir haben die Lizenzversion.
Habe auch Probleme mit der Blätterei.
Ich vermute, daß ich entweder die Variable
$_range oder $_range_lenght oder beide nicht ansprechen kann.
Hab dann mit Sanders Hilfe den "Range" fest eingestellt.
Hier ein Beispiel:
<html>
<head>
<title>Bekanntmachungen des Stadtplanungsamtes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://www.bamberg.de/stadtplanungsamt/test.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<perl>
$schritt=5;
$von=$von||0;
</perl>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="http://www.bamberg.de/stadtplanungsamt/images/kopfzeile.gif" height="35" valign="middle"><span class="Seitenueberschrift"><img src="http://www.bamberg.de/stadtplanungsamt/images/clear.gif" width="10" height="25" align="absmiddle"><a name="oben"></a>Stadtplanungsamt
>>></span> <span class="Seitenueberschrift">Bekanntmachungen</span></td>
</tr>
</table>
<p></p>
</font>
<font face = "verdana,arial,helvetica">
<p class="Standard"> </p>
<p class="ueberschrift"><font size="4">Aktuelle Bekanntmachungen</font></p>
<table width="580" border="0" cellpadding="0" cellspacing="0" bgcolor="cc0000">
<tr>
<td>
<table width="580" border="0" cellspacing="1" cellpadding="4" class="standard">
<loop db=News range=$von,$schritt news_datum~\<\=jetzt sort=-news_datum code=perl>
out "<tr>";
out "<td width='420' class='standard' bgcolor='ffffff'><p><span class='ueberschrift'>$news_datum</span><br>$news_titel</p>";
if ($rechtsgueltig eq 'Ja')
{
out "<p><a href='http://www.bamberg.de/cgi-bin/baseportal.pl?htx=/bp/anliste3&bp_name==$bp_nr'>zum rechtskräftigen Bebauungsplan</a></p>";
out "<p> </p>";
}
else
{
out " ";
}
out "</td>";
out " <td width='160' bgcolor='ffffff' align='center' valign='top'>
<a href='http://www.bamberg.de/stadtplanungsamt/allgemein/bekanntmachungen/$link'>Bekanntmachung<br>lesen</a></td>";
out " </tr>";
</loop>
</table>
</td>
</tr>
</table>
<table width='580' border='0'>
<tr>
<td align='center' class='standard'>
<perl>
my $newrange=$von+$schritt;
my $oldrange=$von-$schritt;
my $von1=$von+1;
my $bis=$von1+$schritt-1;
my $ende=$_amount_query-$schritt;
$oldrange=0 if $oldrange<0 && $oldrange>-$schritt;
out "<table border='0' width='580' class='standard'>";
out "<tr>";
out "<td width='145' align='left'>";
out "<a href=\"$_link&range=0,$schritt\">zum Anfang</a>" if $oldrange>=0;
out "</td>";
out "<td width='145' align='right'>";
out "<<< <a href=\"$_link&von=$oldrange\">zurück</a>" if $oldrange>=0;
out "</td>";
out "<td width='145' align='left'>";
out "<a href=\"$_link&von=$newrange\">weiter</a> >>>" if $newrange<$_amount_query;
out "</td>";
out "<td width='145' align='right'>";
out "<a href=\"$_link&von=$ende\">zum Ende</a>" if $newrange<$_amount_query;
out "</td>";
out "</tr>";
out "<br>";
out "Eintrag $von1 bis";
if ($von1+$schritt>$_amount_query) {
out " $_amount_query<br>";
}
else {
out " $bis<br>";
}
out "von $_amount_query";
</perl>
</td>
</tr>
<tr>
<td align='right'>
<table width="147" border="0" cellspacing="0" cellpadding="0" align="right">
<tr>
<td>
<div align="center">
<!-- #BeginLibraryItem "/Library/zurueck.lbi" -->
<table width="147" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div align="center"><a href="http://www.bamberg.de/stadtplanungsamt/titelseite.htm" target="_self">Startseite</a>
| <a href="javascript:history.go(-1);"> Zurück</a></div>
</td>
</tr>
<tr>
<td>
<p align="center">
<!-- etracker CODE START FRM 1.4 -->
<script language="javascript">
<!--
an=navigator.appName;
d=document;
function pr()
{
d.write("<a target=\"_blank\" href=\"http://www.etracker.de/soverview.php?c=1&name=2462\"><img border=0 alt=\"\" src=\"http://www.etracker.de/cnt.php?pagename=bekanntmachungen&name=2462&java=y&swidth="+swidth+"&scolor="+scolor+"&ref="+escape(parent.document.referrer)+"&p="+plugin+"\"></a>");
}
swidth="na";
scolor="na";
plugin="";
if (an == "Netscape" || an == "Opera") {
for (i = 0; i < navigator.plugins.length; ++i) plugin += navigator.plugins[i].name + ';';
plugin = escape(plugin);
}
//-->
</script>
<script language="javascript1.2">
<!--
s=screen;
swidth=s.width;
an!="Netscape"? scolor=s.colorDepth : scolor=s.pixelDepth;
//-->
</script>
<script language="javascript">
<!--
pr();
//-->
</script>
<noscript><a target="_blank" href="http://www.etracker.de/soverview.php?c=1&name=2462"><img border=0 alt="" src="http://www.etracker.de/cnt.php?pagename=bekanntmachungen&name=2462&java=n"></a></noscript>
<!-- etracker CODE END -->
</div>
</td>
</tr>
</table>
<!-- #EndLibraryItem -->
</div>
</td>
</tr>
<tr>
<td>
<p align="center"> </p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Vielleicht hast Du ja das gleiche Problem.
Gruß
Robert
Antworten
Beitrag von Micha Jost (347 Beiträge) am Donnerstag, 16.Mai.2002, 13:26.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Hallo Robert,
danke für Deinen Tip.
Wir nutzen die Mietversion +Webspace.
Ich habe es mal wie Du probiert, leider erfolglos.
Die Suchfunktion habe ich auch rausgeschmissen, geht auch dann nicht, da hat Christoph schon recht.
Irgendwie klappt das mit der get-perl-Schleife nicht.
Gruß
Micha
<perl>
get "Id==* sort=Kategorie,Name range^=0,10", "Linkliste";
while(get_next("Linkliste"))
{
out "<br><table width=\"75%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td bgcolor=#FF9900><font face=verdana, arial font size=2><b>$Kategorie<br></b></font></td>
</tr>
</table>" if $Kategorie ne $Kategorie_alt;
out "<blockquote>
<font face=verdana, arial font size=2>$Name<br><font>";
out "<font face=verdana, arial font size=2><img src=\"http://www.rathaus-buerstadt.de/bilder/datenpunkt.gif\" width=\"12\" height=\"9\" align=\"absmiddle\"> Internet:<a href=http://$URL target=\"_blank\">$URL</a></font><br></blockquote>";
$Kategorie_alt=$Kategorie;
}
</perl>
<perl>
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<< <a href=\"$_link&range=$oldrange,$_range_length\">Zurück</a> " if $oldrange>=0;
out "<a href=\"$_link&range=$newrange,$_range_length\">Weiter</a> >>" if $newrange<$_amount_query;
</perl>
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 16.Mai.2002, 23:27.
Re: Blätterfunktion hängt - nö, das wars leider nicht
und genau den Code von Robert mußt du dafür nutzen, weil get beim range buggy ist. also erst ein fester Schrittwert eingestellt, dann nur noch die Startposition durchgegeben - heisst bei Robert $v (abgeleitet von "von").
$v=$v||0; # Startwert vorgeben, wenn $v leer ist
get "Id==* sort=Kategorie,Name range^=$v,10", "Linkliste"; # $v ist variabel
while(get_next("Linkliste"))
{
out "<br><table width=\"75%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td bgcolor=#FF9900><font face=verdana, arial font size=2><b>$Kategorie<br></b></font></td>
</tr>
</table>" if $Kategorie ne $Kategorie_alt;
out "<blockquote>
<font face=verdana, arial font size=2>$Name<br><font>";
out "<font face=verdana, arial font size=2><img src=\"http://www.rathaus-buerstadt.de/bilder/datenpunkt.gif\" width=\"12\" height=\"9\" align=\"absmiddle\"> Internet:<a href=http://$URL target=\"_blank\">$URL</a></font><br></blockquote>";
$Kategorie_alt=$Kategorie;
}
</perl>
<perl>
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<< <a href=\"$_link&v=$oldrange\">Zurück</a> " if $oldrange>=0;
out "<a href=\"$_link&v=$newrange\">Weiter</a> >>" if $newrange<$_amount_query;
</perl>
natürlich kannst du den Schritt auch als Var setzen, mußt in dann nur im Link mitgeben.
Sander
Antworten
Beitrag von Micha Jost (347 Beiträge) am Freitag, 17.Mai.2002, 08:58.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Hallo Sander,
Danke für Deine Hilfe.
Ich habe Deinen Code 1:1 eingefügt, aber da tu sich trotzdem nix. Muss ich da noch irgendwo diese Variable $v mit einem eigenen Startwert definieren?
Habs noch nicht geschnallt.
Gruß
Micha
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 17.Mai.2002, 09:25.
Re: Blätterfunktion hängt - nö, das wars leider nicht
wo kann ich das mal testen?
Sander
Antworten
Beitrag von Micha Jost (347 Beiträge) am Freitag, 17.Mai.2002, 10:44.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Hallo Sander,
das ist der Link:
http://rathaus-buerstadt.de/baseportal/Linkliste
Gruß
Micha
Das ist der Code:
<html>
<head>
<title>Linkliste</title>
</head>
<body bgcolor="#ffffff">
<include src=style>
<perl>
$v=$v||0; # Startwert vorgeben, wenn $v leer ist
get "Id==* sort=Kategorie,Name range^=$v,5", "Linkliste"; # $v ist variabel
while(get_next("Linkliste"))
{
out "<br><table width=\"75%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td bgcolor=#FF9900><font face=verdana, arial font size=2><b>$Kategorie<br></b></font></td>
</tr>
</table>" if $Kategorie ne $Kategorie_alt;
out "<blockquote>
<font face=verdana, arial font size=2>$Name<br><font>";
out "<font face=verdana, arial font size=2><img src=\"http://www.rathaus-buerstadt.de/bilder/datenpunkt.gif\" width=\"12\" height=\"9\" align=\"absmiddle\"> Internet:<a href=http://$URL target=\"_blank\">$URL</a></font><br></blockquote>";
$Kategorie_alt=$Kategorie;
}
</perl>
<perl>
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<< <a href=\"$_link&v=$oldrange\">Zurück</a> " if $oldrange>=0;
out "<a href=\"$_link&v=$newrange\">Weiter</a> >>" if $newrange<$_amount_query;
</perl>
</font>
<include src=footer>
</body></html>
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 17.Mai.2002, 11:09.
Re: Blätterfunktion hängt - nö, das wars leider nicht
nimmm mal das ^ raus bei range... der code ist eigentlich ok. und wenn du die url manipulierst (5 oder 10 hinter v setzt) zeigts auch anderes an.
Sander
Antworten
Beitrag von Micha Jost (347 Beiträge) am Freitag, 17.Mai.2002, 11:13.
Re: Blätterfunktion hängt - Bingo, das war`s
Hallo Sander,
was so ein kleine ^ Ärger machen kann.
Es funktioniert.
Danke und schöne Pfingsten.
Gruß
Micha
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 16.Mai.2002, 13:41.
Re: Blätterfunktion hängt - nö, das wars leider nicht
Es gab in der Lizenzversion tatsächlich einen Fehler bzgl. der $_range/$_range_length-Variablen. Das ist jetzt behoben, allerdings haben nur die Neubesteller was davon. Es wird sicher mal ein Update geben, aber ich möchte warten bis sich mehrere Sachen angesammelt haben...
Antworten