mAu
Erfahrenes Mitglied
Hallo Community.
Da in meiner letzen Frage von CIX88 die Verschachtelung von Blöcken beim Parsen von Templates angesprochen wurde, wollte ich mal fragen, wie das eigentlich funktioniert. Also ich hab heute schon nachgedacht, hab aber keinen Ansatz bekommen, wie man das zustande bringt. Zur Zeit sieht meine Template Klasse so aus, dass ich z.B. von der Datenbank ein Array bekomme, dass etwa so aussieht:
Das übergebe ich dann an eine Methode replaceBlock, die wie folgt aussieht:
Wie läuft das dann ab, wenn man verschachtelte Blöcke hat? Steh da gerade auf'm Schlauch
MfG,
mAu
Da in meiner letzen Frage von CIX88 die Verschachtelung von Blöcken beim Parsen von Templates angesprochen wurde, wollte ich mal fragen, wie das eigentlich funktioniert. Also ich hab heute schon nachgedacht, hab aber keinen Ansatz bekommen, wie man das zustande bringt. Zur Zeit sieht meine Template Klasse so aus, dass ich z.B. von der Datenbank ein Array bekomme, dass etwa so aussieht:
Code:
Array
(
[0] => Array
(
[name] => mAu
[email] => email@email.de
[text] => Text...
)
[1] => Array
(
[name] => mAx
[email] => email@email.de
[text] => Noch mehr Text...
)
[2] => Array
(
[name] => totti
[email] => email@email.de
[text] => Und noch mehr...
)
)
Das übergebe ich dann an eine Methode replaceBlock, die wie folgt aussieht:
PHP:
private function replaceBlock($bName, $array){
preg_match('/<!--Begin:'.$bName.'-->(.+)<!--End:'.$bName.'-->/siU', $this->data, $block);
$tmp = '';
foreach($array as $tmpArray){
$obj = new Parser($block[1], true);
$obj->setArray($tmpArray);
$tmp .= $obj->parse(true);
}
$this->data = preg_replace('/<!--Begin:'.$bName.'-->(.+)<!--End:'.$bName.'-->/siU', $tmp, $this->data);
}
Wie läuft das dann ab, wenn man verschachtelte Blöcke hat? Steh da gerade auf'm Schlauch
MfG,
mAu