cmsMain
eforia startet die Prozedur cmsMain. Diese ist wie folgt definiert:
Parameter:
nLfdWEB = Autonummer des aktuellen Datensatzes von cms_web
cSpacer = Der Platzhalter, der ersetzt werden muss
cSes = Aktuelle Session
cURL = Aktuelle URL
cParam = Optionale Parameter
Rückgabe:
Session = Die Session nach Abarbeitung des Moduls
Dadurch ist es dem Modul möglich, die aktuelle Session zu ändern. Z.B. wenn das Programm über andere Wege eine User An- oder Abmeldung vornehmen muss. Normalerweise wird die in cSes übergebene Session unverändert zurück gegeben.
cSpacer: Der Platzhalter in Ramtext, den das Programm ersetzen muss. Es macht also quasi seine Ausgaben an diese Stelle.
cSes: Über die übergebene Session können z.B. die Rechte des aktuellen Users ermittelt werden.
cURL: Die URL, die zum Aufruf der aktuellen Seite und damit auch des Moduls führte. Damit kann das Modul einen Link auf sich selbst setzen und auch evtl. weitere Parameter unterbringen. Dazu ist unten ein Beispiel.
cParam: Beim einbinden in eine Seite kann ein Parameterstring angegeben werden. Dieser wird hier übergeben. Ein Modul kann so in verschiedene Seiten integriert werden und dort verschiedene Aufgaben übernehmen. Denkbar ist z.B. ein Modul, dass eine
Datenbanktabelle darstellt. Als Parameter wird der Name übergeben.
Beispiele:
Das klassische "Hallo-Welt" würde so aussehen:
Subst(cSpacer,'Hallo Welt')
Return cSes
endproc
Will ein Programm einen Link auf sich selbst erzeugen, benutzt es cURL:
Subst(cSpacer,'Wir haben jetzt '+TimeStr(now)+' Uhr<br>'+cSpacer)
Subst(cSpacer,'<a href="'+cURL+'">aktualisieren</a>')
Return cSes
endproc
An cURL können auch eigene Parameter angehängt werden:
var cOpt : STRING
cOpt:=GetQueryString('opt')
if cOpt=''
Subst(cSpacer,'Bitte wählen Sie:<br>'+cSpacer)
else
Subst(cSpacer,'Sie haben '+cOpt+' gewählt<br>'+cSpacer)
end
if Scan('?',cURL)=0 then cURL:=cURL+'?' end
Subst(cSpacer,'<a href="'+cURL+'&opt=a">a</a> '+cSpacer)
Subst(cSpacer,'<a href="'+cURL+'&opt=b">b</a> '+cSpacer)
Subst(cSpacer,'<a href="'+cURL+'&opt=c">c</a> '+cSpacer)
Subst(cSpacer,'')
Return cSes
endproc