Umgang mit Ilch 1.1 Template-System

Eingetragen von Lord|Schirmer am Do, 24. Jan 2013 - 17:19


Eine Beschreibung wie der Platzhalter {EXPLODE} und die Ausgaben an das Template funktionieren, wird zusätzlich zur Entwickler Referenz ilchClan 1.1 I ->> Templates auch von Rock@wulf ausführlich erklärt!

---

Ilch templates werden wie folgt behandelt:

$tpl = new tpl ( 'dateiname' );


dieser Befehl öffnet die Datei respektive ausgehend vom Pfad include/templates, bzw include/designs/[NamedesDesigns]/templates

In dieser Datei sind die reinen HTML bzw JS codes also eine .htm(l)
Einige "Funktionen" wie abfragen lassen sich durch sonder befehle wie
{_if_{variable}=='wert'}Bei richtiger Bedingung{/_endif}

direkt in der Htm abfertigen.

Die Htm datei ist in Abschnitte gegliedert:

Abschnitt 0 ist generell erstmal das ganze Dokument, fügt man
{EXPLODE}
in die Datei ein endet exakt dort der Abschnitt 0 es beginnt im anschluss Abschnitt 1.

Einzelne Abschnitte werden uber die verschiedenen Methoden der Klasse TPL
hierzu siehe bitte Doku! angeprochen.

Als Beispiel die Methode out($abschnitt)

$tpl->out(0);


Dieser aufruf bewirkt, das alles im Abschnitt 0 der .htm sofort ausgegeben wird.
So kann man also schnell und einfach testen ob die reine .htm Datei ihre funktion richtig erfüllt indem man alle bereiche seiner .htm ausgibt.

Abschnitt 0
{EXPLODE}
Abschnitt 1
{EXPLODE}
Abschnitt 2


$tpl->out(0);
$tpl->out(1);
$tpl->out(2);


Da man die .htm auch mit inhalt füllen will werden So. Platzhalter definiert um diese zu füllen hier das Beispiel {TEXT}

<h1>Hallo Welt! {TEXT}</h1>
{EXPLODE}
Abschnitt 1
{EXPLODE}
Abschnitt 2


Das kann man wie folgt erreichen
$tpl->set('TEXT','Ilch ist COOL')
$tpl->out(0);


oder
$tpl->set_out('TEXT','Ilch ist COOL',0)


Die Abschnitte 1 und 2 bleiben davon unangetastet
$tpl->out(1);
$tpl->out(2);


Wichig ist dabei das man darauf achtet Abschnitte nicht doppelt auszugeben, dabei gibt es aber eine Außnahme bei der die erneute ausgabe Sinn macht:


Abschnitt 0
{EXPLODE}
<tr>
    <td>Inhalt A</td>
    <td>Inhalt B</td>
    <td>Inhalt C</td>
</tr>
{EXPLODE}
Abschnitt 2


Da man bei einer Tabelle meistens einen Kopf hat aber mehrere Zeilen mit der selben Spaltenzahl darunter währe es 'Doof' für jede Zeile einen abschnitt erzeugen zu müssen. Hier biedient man sich dann der Schleifen Funktion

$tpl->out(0);
while (CONDITION) ) {
    $tpl->out(1);
}
$tpl->out(2);


Die kann mann dann wieder mit den Set Methoden zu erfahren aus der Doku füllen.

Praktisch daran ist habe ich eine weitere Tabelle mit der selben spalten anzahl so kann ich den Abschnitt 1 dort wieder verwenden:

Tabellen kopf
{EXPLODE}
<tr>
    <td>Inhalt A</td>
    <td>Inhalt B</td>
    <td>Inhalt C</td>
</tr>
{EXPLODE}
Tabellen Fuß
Space
Tabellen Kopf
{EXPLODE}
Tabellen Fuß


$tpl->out(0);
while (CONDITION) ) {
    $tpl->out(1);
}
$tpl->out(2);
while (CONDITION2) ) {
    $tpl->out(1);
}
$tpl->out(3);


---
Geschrieben von Rock@wulf