daniel_sun
Erfahrenes Mitglied
Hallo,
ich denke es ist ein wenig schwer zu erklären was mein Problem ist aber ich versuche es trotzdem einmal .
Ich habe ein Problem bezüglich meines Template-Parsers (der eigendlich ganz gut funktioniert). Hier ist erst einmal der Code:
Mit diesem Befehl fülle ich den Platzhalter mit irgendeinem Text.
Am Ende rufe ich das das Template mit diesem Befehl auf:
Wie schon zu Anfang gesagt, das Script funktioniert im Grunde super, es gibt nur ein Problem:
Wenn ich z.B. ein Template habe, in dem eine Tabelle angezeigt werden soll die mit einer unbekannten Anzahl von Werten aus einer Datenbank gefüllt wird.
Dann muss ich mein Template in kleine "Teil-Templates" aufteilen. Z.B ein Template in dem der Code bis zur Tabelle steht. Dann der Code der Tabelle (der dann mehrmals aufgerufen wird z.b mit while($row = mysql_fetch_array($result)) und dann der Code bis zum Ende der Seite.
Wenn ich also eine Seite anzeigen will brauche ist also manchmal bis zu 5 Templates. Der Besucher der Page bekommt davon natürlich nichts mit aber ich finde es iwie "unsauber" und macht mir das Bearbeiten der Templates (das suchen ect) schwer.
Nun zu meiner eigentlichen Frage:
Sehr ihr einen weg wie ich mit dem bestehenden Parser die Situation besser lösen kann? Das ich die Menge der Templates pro seite vll auf 2 oder so herunter schrauben kann? z.B das Tabellentemplate (erst füllen lassen) und das dann in das eigendlich Template einfügen?
Ich selbst hab keine Lösung gefunden. Hoffentlich versteht ihr was ich meine und könnt mir helfen!
Danke in vorraus!
mfg
daniel_sun
ich denke es ist ein wenig schwer zu erklären was mein Problem ist aber ich versuche es trotzdem einmal .
Ich habe ein Problem bezüglich meines Template-Parsers (der eigendlich ganz gut funktioniert). Hier ist erst einmal der Code:
PHP:
function gettemplate($File, $Inhalt){
if(file_exists("tpl/".$File.".tpl")){
$a=file("tpl/".$File.".tpl");
if ($Inhalt<>""){
foreach($Inhalt as $d=>$e){
foreach ($a as $b=>$c){
$c=str_replace($d, $e, $c);
$a[$b]=$c;
}
}
}
$a=implode(" ", $a);
return $a;
}else echo "Template (".$File.".tpl".") existiert nicht";
}
Mit diesem Befehl fülle ich den Platzhalter mit irgendeinem Text.
PHP:
$Content['$newstext'] = "TEXT";
Am Ende rufe ich das das Template mit diesem Befehl auf:
PHP:
echo gettemplate("tpl_news",$Content);
Wie schon zu Anfang gesagt, das Script funktioniert im Grunde super, es gibt nur ein Problem:
Wenn ich z.B. ein Template habe, in dem eine Tabelle angezeigt werden soll die mit einer unbekannten Anzahl von Werten aus einer Datenbank gefüllt wird.
Dann muss ich mein Template in kleine "Teil-Templates" aufteilen. Z.B ein Template in dem der Code bis zur Tabelle steht. Dann der Code der Tabelle (der dann mehrmals aufgerufen wird z.b mit while($row = mysql_fetch_array($result)) und dann der Code bis zum Ende der Seite.
Wenn ich also eine Seite anzeigen will brauche ist also manchmal bis zu 5 Templates. Der Besucher der Page bekommt davon natürlich nichts mit aber ich finde es iwie "unsauber" und macht mir das Bearbeiten der Templates (das suchen ect) schwer.
Nun zu meiner eigentlichen Frage:
Sehr ihr einen weg wie ich mit dem bestehenden Parser die Situation besser lösen kann? Das ich die Menge der Templates pro seite vll auf 2 oder so herunter schrauben kann? z.B das Tabellentemplate (erst füllen lassen) und das dann in das eigendlich Template einfügen?
Ich selbst hab keine Lösung gefunden. Hoffentlich versteht ihr was ich meine und könnt mir helfen!
Danke in vorraus!
mfg
daniel_sun