Kurzformen für WebTML-Includes
Nach langer Zeit mal wieder ein weiterer WGA-Tip, derer es uns mitnichten mangelt (allein, die Zeit fehlt oft um sie in Textform zu giessen):
Der Tag <tml:include> ist der Haupt-Aufhängepunkt für Modularität in WebTML. Dank seiner Einbinde-Funktionalität können wir bestimmte WebTML-Bereiche in eigene Module verpacken die wir dann an den geeigneten Stellen aufrufen. Diese Module parametrisieren wir dann über WebTML-Optionen, welche das Verhalten des Modulcodes steuern, die Namen von zu verwendenden Items übergeben, Codestrecken zum Einbau übergeben usw.
Treibt man dieses Konzept konsequent fort, so wie wir das selbst in unserer internen WGA-Anwendungsentwicklung tun, so kann man schon einmal zu der Eindruck gelangen, dass über die übliche Include-Syntax sehr wenig Funktionalität über sehr viel Code angesteuert wird. So rufen wir in folgendem Beispiel lediglich ein Modul mit zwei Parametern und einem "Body" auf:
Um dieses Problem zu adressieren haben wir mit WGA 4.1 eine Reihe von Abkürzungs-Möglichkeiten eingeführt die man je nach Geschmack einsetzen kann.
Der Tag <tml:include> ist der Haupt-Aufhängepunkt für Modularität in WebTML. Dank seiner Einbinde-Funktionalität können wir bestimmte WebTML-Bereiche in eigene Module verpacken die wir dann an den geeigneten Stellen aufrufen. Diese Module parametrisieren wir dann über WebTML-Optionen, welche das Verhalten des Modulcodes steuern, die Namen von zu verwendenden Items übergeben, Codestrecken zum Einbau übergeben usw.
Treibt man dieses Konzept konsequent fort, so wie wir das selbst in unserer internen WGA-Anwendungsentwicklung tun, so kann man schon einmal zu der Eindruck gelangen, dass über die übliche Include-Syntax sehr wenig Funktionalität über sehr viel Code angesteuert wird. So rufen wir in folgendem Beispiel lediglich ein Modul mit zwei Parametern und einem "Body" auf:
<tml:include ref="treeview">
<tml:option name="loaderurl"><tml:url type="tml" layout="::get-file-data"/></tml:option>
<tml:option name="title">Root</tml:option>
<tml:option name="body">
... some WebTML-Code ...
</tml:option>
</tml:include>
<tml:option name="loaderurl"><tml:url type="tml" layout="::get-file-data"/></tml:option>
<tml:option name="title">Root</tml:option>
<tml:option name="body">
... some WebTML-Code ...
</tml:option>
</tml:include>
Um dieses Problem zu adressieren haben wir mit WGA 4.1 eine Reihe von Abkürzungs-Möglichkeiten eingeführt die man je nach Geschmack einsetzen kann.