Saubere Trennung von HTML und PHP

Ich muss den Thread doch glatt noch mal aus der Versenkung holen :D
Ich hab damit noch ein kleines Problem.
Beim parsen der templates wird ja strikt einfach nur alles ausgegeben, aber ich würde nun gerne php mit in ein Template einfügen, sprich innerhalb eines templates <? include(".."); ?> ausführen können.
Wenn ich nun auf welche Art auch immer versuche das zu machen, schreibt er das einfach nur hin.
Ich hoffe ich hab mich klar genug ausgedrückt :/

Wäre nett, wenn mir da einer Hilfestellung zu geben könnte!

Wie immer danke im voraus :D

//Ben
 
Du musst dafür sorgen, dass das Template vom PHP-Interpreter als PHP behandelt wird. In welcher Form liegt denn dieses Template vor und wie wird es verarbeitet?
 
Das Script ist ja oben zu sehen, wie es interpretiert wird. Das Template wird ausgelesen und wieder ausgegeben, wie auch immer genau. Es scheint egal zu sein, ob ich das Template als php oder html oder tpl oder sonst was abspeicher.
Hast du eine Idee, wie ich ihn dazu bringe, dass es vom Interpreter richtig interpretiert wird?
 
Du könntest mit den Funktionen zur Ausgabesteuerung arbeiten, etwa:
PHP:
ob_start();
include 'foobar';
$content = ob_get_clean();
str_replace('foobar', $content, $string);
Dadurch könnten allerdings auch vorhandene Variablen überschrieben werden. Also musst du vorsichtig sein.
 
Nabend.

Solltest eventuell mal deinen Templatecode posten und uns auch mitteilen, was denn genau geht bzw. nicht geht, also ob der Parser eine Fehlermeldung ausgibt oder etwas falsch ausgegeben wird.

MfG Erik
 
Probier mal
Code:
while($array = $db->fetchAssoc())
{
    $entries[] = $array;
}
$tpl = new DTemplate; 
$tpl->assignLoop("entries", $entries); 
echo $tpl->parse("", "test.tpl");

MfG
 

Neue Beiträge

Zurück