p591 - Öfftl. Liste Veranstaltungen

Stand dieser Seite: 29.03.2011 - Veranstaltungskalender www.remso.de


Aufgabe des Programms.

Zeigt die Veranstaltungsliste für


Besonderheit.

p591 ist dafür ausgelegt, per <iframe> in fremde Webseiten eingebunden zu werden. Dem rufenden Programm kann die Framehöhe zurückgegeben werden. Siehe Parameter gif_name.


Aufrufen des Programms.

p591 wird üblicherweise per Link aufgerufen. Die nötigen Parameter sind vorgegeben und müssen den Leser und Veranstalter nicht interessieren. Die folgende Tabelle informiert Webmaster und Programmierer.

p591 muss mit mindestens einem der Parameter ORT, TYP oder VIP aufgerufen werden. Dabei wird automatisch in das Programm p591 verzweigt, der Parameter Zielprogramm zp=p591 ist hier unnötig.

Beachten Sie die Groß- und Kleinschreibung der Parameternamen. Die Reihenfolge der Parameter ist unwichtig. Vor dem ersten stehen die beiden Zeichen /? vor jedem weiteren das Zeichen &

Parameter

Bedeutung / Beispiel

Ergebnis

Einfache Parameter, auch Aufzählungen

ORT remso- Ortsnummer
remso.de/?zp=p591&ORT=9214
remso.de/?ORT=9214   zp=p591 ist überflüssig
Heppenheim
ORT remso- Ortsnummern (Mehrzahl)
remso.de/?ORT=9214,9669,9671
Orte an der Bergstrasse
TYP Veranstaltungstyp
remso.de/?TYP=7
Shanty-Festivals
TYP Veranstaltungstypen (Mehrzahl)
remso.de/?TYP=7,9
Shanty-Festivals und Chorkonzerte
VIP Veranstalternummer
remso.de/?VIP=358
Magistrat der Kreisstadt Erbach
VIP Veranstalternummern (Mehrzahl)
remso.de/?VIP=401,680,143
Mitglieder des Sängerkreises Weschnitztal- Überwald

Erweiternde Kombinationen

ORT / KM Ort mit Umkreis
remso.de/?ORT=9214&KM=30
Heppenheim und 30 km Umkreis
ORT / KM Orte (Mehrzahl) mit Umkreis
remso.de/?ORT=9674,12725,13447,13455,13456&KM=30
der erste Ort (Mörlenbach) mit seinem Umkreis, zusätzlich seine europäischen Partnerstädte.

Einschränkende Kombinationen

ORT / TYP Ort(e), nur bestimmte Veranstaltungstyp(en)
remso.de/?ORT=9633,9183&TYP=22,9
nur Vorträge und Chorkonzerte in Darmstadt und Heidelberg.

Weitere Parameter.

gif_name Siehe Sektion gif_name. Remso- iframe in der richtigen Höhe
IT Schalter: Auch interne Termine.
remso.de/?VIP=401&IT=1
Öffentliche und interne Termine werden angezeigt, z.B. auf der eigenen Homepage auch die Hauptversammlung und Weihnachtsfeier.
OT Schalter: Ohne Titel.
remso.de/?VIP=401&OT=1
Unterdrückt den Standard Seitentitel.
titel Ersetzt den Standard Seitentitel.
remso.de/?ORT=10453,13354,13355&titel=Orte%20am%20Bodensee
Freie Titelangabe zu den Parametern. Statt einer Leerstelle sind die drei Zeichen %20 zu schreiben.
tage Anzahl Tage inklusive heute.
remso.de/?ORT=9669&tage=30
Weinheim, die nächsten 30 Tage.
tag_von Erster Tag der Anzeige.
remso.de/?ORT=9669&tag_von=1.1.2011
Weinheim ab 1.1.2011. Ohne diesen Parameter ist heute der erste Tag.
tag_bis Letzter Tag der Anzeige.
remso.de/?ORT=9669&tag_bis=31.1.2011
Weinheim bis 31.1.2011. Ohne diesen Parameter ist heute +365 Tage der letzte Tag.

Parameter gif_name für remso im iframe.

Wenn eine remso- Veranstaltungsliste als <iframe> Rahmen in die eigene Homepage eingebunden wird, wäre es schön, je nach Umfang per Javascript die Rahmenhöhe anzupassen. Doch die Homepage darf aus Sicherheitsgründen nicht auf remso im Rahmen zugreifen. Auch remso darf nichts an die umschließende Homepage melden. Beide Versuche ergeben einen Javascript- Laufzeitfehler.

Falls Ihr Browser per Sicherheitslücke zugreifen kann, bedeutet das nicht, dass die Browser Ihrer Homepagebesucher das auch können. Mit einem kleinen Umweg geht es aber. Remso im Rahmen kennt die eigene Höhe und meldet sie per Ajax zurück an den remso Server. Der erzeugt eine Grafik mit dieser Höhe.

Etwas zeitverzögert kann die Homepage nun diese remso- Grafik laden, auswerten und die Höhe des iframe anpassen. Doch wie heisst die Grafik? Die Homepage muss einen wechselnden Zufallsnamen erzeugen und als Parameter gif_name an remso übergeben. Wenn mehrere Besucher die Homepage gleichzeitig aufrufen, muss jeder einen eigenen Namen bekommen

So sieht es aus: Sängerkreis-Termine.

So wird's gemacht: HTML- and Javascript-Code in Ihrer Homepage:

<!-- 1 -->
<div id=frame1>
<!-- 2 -->
<noscript><iframe
  src="http://remso.de/?VIP=19&IT=1&OT=1"
style="width:100%; height:25em"></iframe></noscript>
</div>
<script type="text/javascript">
//-- 3 --
function Frame( ORT, KM, TYP, VIP, titel, IT, TID ) {
  var f              = document.createElement('iframe');
//-- 3a --
  var gif_name       = 'img'+Math.random();
//-- 3b --
  var src            = 'http://remso.de?zp=p591&OT=1&ORT='+ORT+'&KM='+KM+'&TID='+TID+'&TYP='+TYP;
  src               += '&VIP='+VIP+'&lg=de2&titel='+titel+'&IT='+IT+'&gif_name='+gif_name;
  f.src              = src;
  f.style.width      = '100%';
  f.style.height     = '25em';
  f.style.border     = '1px solid #aaf';
  f.style.padding    = '0.2em';
  f.style.background = 'transparent';
//-- 3c --
  f.onload       = function()   {
    var img      = new Image();
    img.src      = "http://remso.de/"+gif_name+".gif";
//-- 3d --
    img.onload   = function()     {
      f.style.height = img.height+10+"px";
    }
  }
  this.obj = function() { return f;};
}
//-- 4 --
function zeigeRemso( id, ORT, KM, TYP, VIP, titel, IT, TID ) {
  var f = document.getElementById( id ).firstChild; // alter Knoten
  if(f) document.getElementById( id ).removeChild(f);
  var f = new Frame( ORT, KM, TYP, VIP, titel, IT, TID );
  document.getElementById( id ).appendChild(f.obj());
}
//-- 5 --
zeigeRemso( 'frame1',0,0,0,19,'',1,0 );
</script>

Erklärung:

  1. Der Container frame1 wird eingerichtet.
  2. Falls Javascript abgeschaltet ist, wird ein iframe mit fester Größe definiert. Anstelle VIP=19 setzen Sie Ihre eigene Veranstalternummer ein,
  3. Javascript erzeugt ein Element iframe.
    a. Zufallsname für die Grafikdatei erzeugen, z.B. img0.06344401683132844
    b. Zusammenbau des remso-Aufrufs, Programm p591 mit zahlreichen Parametern.
    c. f.onload wartet, bis die Seite im iframe geladen ist. Dann Laden der Grafik.
    d. img.onload wartet, bis die Grafik geladen ist, dann wird ihre Höhe dem iframe zugeordnet.
  4. Das Element iframe wird in die Homepage eingebunden.
  5. Erzeugung des ersten (oder einzigen) iframe wird angestoßen. Den vierten Parameter 19 ersetzen Sie bitte durch Ihre Veranstalternummer.

© 2008   Softwareentwicklung Karl-Heinz Osmer, D-69488 Birkenau   osmer.de