TALON4 Framework

Dokumentation

Was sind Templates ?

Talon4 sieht in Templates statische Vorlagen, meistens HTML-Dateien die Teile oder den Grundrahmen eines Dialogs beinhalten und mit dynamischen Bestandteilen gefüllt werden.

 

Das Framework beinhaltet derzeit noch zwei verschiedene Template-Komponenten, das Paket TF.Template ist jedoch nur noch zur Abwärtskompatibilität vorhanden, daher geht diese Dokumentation nicht weiter darauf ein.

 

Die Klasse TF.View.Template liest Template-Dateien aus, ersetzt Platzhalter durch dynamische Inhalte und liefert das Ergebnis aus String zurück. Darüber hinaus kann jedes Template spezielle Template-Blöcke beinhalten, die z.B. Scheifen, Bedingungen oder ausgelagerte Funktionen bereitstellen.

 

Wichtig: Die nachfolgende Beschreibung gilt für die Klassen unter TF_View_Template. Die ältere Template-Engine unter TF_Template gilt als veraltet und ist zur Rückwärtskompatibilität weiterhin enthalten.

Ein Template

ein einfaches Template könne bereits so aussehen:
<div class="component_2col_outer">
<div class="component_2col_left">{$left}</div>
<div class="component_2col_left">{$right}</div>
</div>

 

{ und } markieren einen Template-Block, hier in der einfachsten Form. Left und Right dürfen Text beinhalten. HTMLL würde codiert und als regulärer "text" ausgegeben.
Alternativ ist {raw $left} möglich, was auch HTML-Code in $left erlaubt.

 

Ein Template-Block kann ein Objekt aufrufen {$objektname.feldname} oder eine andere Klasse als Plugin ansteuern:

 

{plugin path="Talon_Content.Taglib.Navigation" configid="2" }

 

doch dazu später mehr.

Ein Template in PHP aufrufen und ausgeben

Eine Template-Datei kann mit einem absolute Pfad oder innerhalb eines Moduls aufgerufen werden.
Da die Template-Klasse die Methode __toString beinhaltet, wird es bei Bedarf direkt in einen String umgewandelt.
$tpl = TF::Get('TF.View.Template');
$tpl->prepare('Mymodule.Template.Component_2col');

$tpl->addValue('left','test123');
echo $tpl;

 

Helper: CSS

Der Template-Helper "CSS" ermöglicht, jederzeit neue CSS-Dateien hinzuzufügen, die durch einen entsprechenden Controller dann am richtigen Ort im Dokument eingefügt werden können.
{css file="public/skin/layout.css" media="screen" }

Helper: Date

{date $mydate d.m.Y}

Helper: foreach

{foreach $myvariable as $subname key $keyname}
...
{/foreach}

Helper: raw

{raw $variable} gibt den unkodierten String der Variable zurück, inkl. eventueller HTML-Sonderzeichen.

Helper: num

{num $myfloatingnumber %2f}
Dieser Helper wrappt PHPs sprintf-Funktion zur Formattierung von Zahlen.

Helper: Debug

{debug $myvar}
Gibt den Inhalt einer Variable formattiert aus. (entspricht <pre> print_r mit htmlspecialchars </pre>)