Beitrag von Olaf (382 Beiträge) am Freitag, 7.März.2003, 13:47. WWW: www.lsn-ja.de
Kalender: Farbkennzeichnung komprimieren
Hallo Kalender-Programmierer!
Ich habe den unterschiedlichen Terminarten im Kalender (aus der BIB) auch verschiedene Farben gegeben.
Kann ich diese Abfrage noch mehr zusammenfassen, so das die Anzeige im Kalender schneller wird?
# oder anderer Verband
get "Beginn==$startdatum|Beginn<$startdatum&Termin>=$startdatum Verband==Ferien sort=Beginn", "termin";
while(get_next("termin"))
{
out "<div style='border-bottom-style:dashed; border-bottom-width:1px; border-bottom-color:black'><font size=-2 color=red>$lehrgkurz</font></div><br>";
}
# oder anderer Verband
diese Abfrage ist für sieben Bereiche im Template vorhanden.
vielen Dank (im Namen der Besucher) ;-)
Tschüüs
Olaf
Antworten
Beitrag von Pouraga (1396 Beiträge) am Freitag, 7.März.2003, 16:57.
Re: Kalender: Farbkennzeichnung komprimieren
Antworten
Beitrag von Olaf (382 Beiträge) am Sonntag, 9.März.2003, 00:45. WWW: www-lsn-ja.de
Re: Kalender: Farbkennzeichnung komprimieren
Hallo Pouraga!
leider kommt die Fehlermeldung "Unrecognized character \xA0 at (eval 6379)", obwohl ich nur deine Befehle gegen meine ausgetauscht habe.
Tschüüüssss
Olaf
Antworten
Beitrag von Pouraga (1396 Beiträge) am Sonntag, 9.März.2003, 01:50.
Re: Kalender: Farbkennzeichnung komprimieren
Gib mal bitte das geänderte Stückchen aus deinem Template. (Abfrage und while Schleife mit den ganzen optionen drin)
Antworten
Beitrag von Olaf (382 Beiträge) am Sonntag, 9.März.2003, 10:55.
Re: Kalender: Farbkennzeichnung komprimieren
Hallo!
nun der eingefügte Abschnitt..
get "Beginn==$startdatum|Beginn<$startdatum&Termin>=$startdatum sort=Beginn", "termin";
while(get_next("termin"))
{
out "<div style='border-bottom-style:dashed; border-bottom-width:1px; border-bottom-color:black; '>";
out "<font size=-2 ";
out "color=blue>" if ($Verband eq "einsz");
out "color=red>" if ($Verband eq "Ferien");
out "color=darkgoldenrod>" if ($Verband eq "zweiz");
out "color=yellow>" if ($Verband eq "dreiz");
out "color=black>" if ($Verband eq "vierz");
out "color=orange>" if ($Verband eq "fuenfz");
out "color=black>" if ($Verband eq "sechsz");
out "color=black>" if ($Verband eq "siebenz");
out "color=black>" if ($Verband eq "achtz");
out "color=black>" if ($Verband eq "neunz");
out "color=black>" if ($Verband eq "zehnz");
out "color=green>" if ($Verband eq "elfz");
out "color=green>" if ($Verband eq "zwoelfz");
out "color=green>" if ($Verband eq "dreizehnz");
out "color=green>" if ($Verband eq "vierzehnz");
out "color=black>" if ($Verband eq "fuenfzehnz");
out "$lehrgkurz</font></div><br>";
}
out "</td></tr></table>";
danke!
Olaf
Antworten
Beitrag von Pouraga (1396 Beiträge) am Sonntag, 9.März.2003, 12:57.
Re: Kalender: Farbkennzeichnung komprimieren
Ich habe jetzt den Teil:
----------------------------
<perl>
out "<div style='border-bottom-style:dashed; border-bottom-width:1px; border-bottom-color:black; '>";
out "<font size=-2 ";
out "color=blue>" if ($Verband eq "einsz");
out "color=red>" if ($Verband eq "Ferien");
out "color=darkgoldenrod>" if ($Verband eq "zweiz");
out "color=yellow>" if ($Verband eq "dreiz");
out "color=black>" if ($Verband eq "vierz");
out "color=orange>" if ($Verband eq "fuenfz");
out "color=black>" if ($Verband eq "sechsz");
out "color=black>" if ($Verband eq "siebenz");
out "color=black>" if ($Verband eq "achtz");
out "color=black>" if ($Verband eq "neunz");
out "color=black>" if ($Verband eq "zehnz");
out "color=green>" if ($Verband eq "elfz");
out "color=green>" if ($Verband eq "zwoelfz");
out "color=green>" if ($Verband eq "dreizehnz");
out "color=green>" if ($Verband eq "vierzehnz");
out "color=black>" if ($Verband eq "fuenfzehnz");
out "$lehrgkurz</font></div><br>";
out "</td></tr></table>";
</perl>
--------------------------------
getestet. (Abfrage nicht weil ich keine passende Datenbank anlegen wollte) Und es gab keine Probleme.
(Nebenbei fällt mir noch ein: Besser ist wenn du das > von den Farben nach unten packst, dann funktioniert es auchnoch wenn er keinen ensprechenden findet.)
An dieser verfluchten Unrecognized character Meldung bin auch schon öffter verzweifelt weil sie in Baseportal einem noch nichtmals ne Zeile ausspuckt.
Aber er gibt zumindest den Unicode des Buchstaben gegen den er was hat. Has ist hier: /xA0.
Und das ist ein Leerzeichen. (und das ist ja so selten das sofort klar ist woran es liegt *g*)
Du musst also nach einem Leerzeichen suchen wo es nicht hingehört. (oder glaube ich auch andersrum)
Hast du tasächlich alle reste vom alten code gelöscht, oder ist da noch irgendwo vielicht was hängen geblieben?
Antworten
Beitrag von Olaf (382 Beiträge) am Sonntag, 9.März.2003, 22:28.
Re: Kalender: Farbkennzeichnung komprimieren
Hallo!
Wenn man baseportal´s Geheimsprache kennt und "/xA0" richtig deutet, dann wird´s einfacher....
Ich habe alle drei Befehlszeilen im Fehlerbereich neu formatiert und die Leerzeichen "neu geschrieben" und schon funzt es.
Danke Pouraga!
Leider werden nun aber auch die Leerzeilen mit ausgegeben, so das die Tage länger (Feldhöhe) größer wird. Und wirklich schneller ist es nicht geworden.
Liegt sicher an baseportal ;-)))
Tschüüüs
Olaf
Antworten
Beitrag von Pouraga (1396 Beiträge) am Sonntag, 9.März.2003, 23:24.
Re: Kalender: Farbkennzeichnung komprimieren
Nix Geheimsprache, kann man nachschlagen oder einfach in ner HTML Datei ausprobieren was da raus kommt: "   " ;)
Aber zur Sache zrück, hab noch nicht so ganz verstanden wo da leerzeichen eingefügt werden. Und eigendlich müsste es schneller werden.. ( Du hast jetzt doch nur noch eine Abfrage? )
Hast du schon die Version von Cristoph mit nem hash genommen? Ist bei den vielen verschiedenen optionen die du hast wesendlich besser.
Antworten
Beitrag von Olaf (382 Beiträge) am Donnerstag, 15.Mai.2003, 23:44.
Re: Kalender: Farbkennzeichnung komprimieren
Hallo Christoph!
Irgendwie funzt es immer noch nicht.
Mit Hash würde es schneller gehen, aber leider sind alle Felder leeeeerrrr.
Tschüüüüs
Olaf
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Sonntag, 9.März.2003, 14:55.
Re: Kalender: Farbkennzeichnung komprimieren - das riecht nach nem hash ;-)
Schneller & kürzer wäre hier der Einsatz vonnem Hash:
%farben=
(
einsz => blue,
Ferien => red,
...etc.
);
get "Beginn==$startdatum|Beginn<$startdatum&Termin>=$startdatum sort=Beginn", "termin";
while(get_next("termin"))
{
out "<div style='border-bottom-style:dashed; border-bottom-width:1px; border-bottom-color:black; '>";
out "<font size=-2 color=$farben{$Verband}>$lehrkurz</font></div><br>";
}
out "</td></tr></table>";
;-)
Antworten