[Homepage]-[Sitemap] [EMail]

Navigation


Zurück zu:
TPL
Handbuch
Schablonenfunktionen

Hauptmenü:
Wie funktioniert TPL?

Handbuch

Tips & Tricks

Workshop

Download

Voraussetzungen

Impressum


 
TREE

POPUP

Die 'POPUP'-Funktion macht alleine nicht viel Sinn. Sie sollte in Kombination mit der 'LIST'-Funktion eingesetzt werden. Sie dient dazu in Datenbankanwendungen einen zu ändernden Datensatz in einem Formular vorzubereiten. Mit 'LIST' lassen sich die Eingabefelder eines Formulars mit den Werten eines Datensatzes besetzen. Oft will man aber zur komfortableren Eingabe eines oder mehrere der Felder durch ein Poup-Menü ersetzen. Das würde sich zwar ebenfalls mit 'LIST' erledigen lassen (durch zwei ineinander geschachtelte TPL-Anweisungen), bringt aber dann das Problem mit sich, daß ein bestimmter Wert entsprechend dem Feldwert vorselektiert sein muß.

Die Funktion 'POPUP' kann aber einen Parameter 'ROWNBR' verarbeiten, der ihr beim Durchlaufen der von 'STATEMENT' zurückgelieferten Datenmenge den Datensatz angibt, der später im HTML-Formular vorselektiert sein muß. Bleibt noch das Problem, 'POPUP' diesen Wert aus dem durch 'LIST' selektierten Datensatz zu übergeben, denn normalerweise arbeitet sich der TPL-Interpreter von innen nach außen. Wenn man aber anstatt 'TPL' 'RTPL' und anstatt '[:Field]' '[R:Field]' schreibt, ist es genau andersherum: der Interpreter bearbeitet erst das äußere 'TPL'-Tag und dann das innere.

Das kann man nun so ausnutzen, daß man der inneren Funktion - in diesem Fall 'POPUP' - als 'ROWNBR'-Parameter ein '[:Field]' der äußeren Funktion - also 'LIST' - zuweist. Damit kann man 'ROWNBR' z.B. eine ID übergeben. Da erst nach der Abarbeitung der äußeren Funktion die innere bearbeitet wird, steht dann da schon ein echter Wert und kein '[:Field]'-Platzhalter mehr.

Damit nun der Interpreter auch noch innerhalb der Markierung die Stelle findet, an der er einen Eintrag hervorheben soll, gibt es nur für 'POPUP' den Platzhalter '[Selected]', der in allen anderen Einträgen durch Nichts ersetzt wird und beim einzigen Treffer durch 'SELECTED'.

STATEMENT - ein beliebiges SELECT-Statement.

SECONDSTATEMENT - ein beliebiges SELECT-Statement.

ROWNBR - im Popup-Menü markierter Wert.

[:Selected]

Beispiel

Beispiel

<TPL FUNCTION=LIST STATEMENT="SELECT ID, Vorname, Nachname FROM Mitglied WHERE (ID = 35)"> 
    <select name="select">
      <RTPL FUNCTION=POPUP STATEMENT="SELECT ID, Nachname FROM Mitglied WHERE (ID < 50)" ROWNBR=[:Field1]> 
      <option [:Selected] value="[R:Field1]">[R:Field2]</option>
      </RTPL> 
    </select>
</TPL> 


Diese Seite wurde mit BrainStorm generiert
Copyright © 1991 - 2001 by Thomas Ell