Variable innerhalb eines Templates wird nicht ersetzt?

sam

Erfahrenes Mitglied
Moin Jungs,

Bin mal wieder mit einem netten Problem da ;)
Habe anhand von einem kleinen Tutorial aus den
Programming-Tutorials eine simple Template-Funktion
gebastelt.
Geladen werden die Templates auch, nur die Variablen
werden leider nicht ersetzt :(
Woran könnte das bei der angehängten Funktion (das Board
verstümmelt den Code zu stark um ihn zu posten) liegen?
Das Template besteht aus HTML-Code mit $Variablen drin.
Nur will die Funktion nichts ersetzen...

Code:
function LoadTemplate($template){

	$db = new db;
	$db->connect();
	$tpl = $db->query("SELECT data FROM templates WHERE name='".$template."' LIMIT 1");
	if($db->num_rows($tpl)>"0"){
		
		$tpl = $db->fetch_array($tpl);
		return str_replace("\"","\\\"",$tpl["data"]);
	
	}
	
	else {
	
		return "<b>Fehler:</b> Template '".$template."' ist nicht vorhanden.<br />";
	
	}

}

function OutputTemplate($template){

	echo $template;

}

function tpl($name){

	eval("OutputTemplate(\"".LoadTemplate($name)."\");");

}

Lösungsvorschläge?

mfg
sam
 

Anhänge

Hi!

Komme von Perl, aber dennoch: mir ist das mal passiert, weil ich die Variablen nur "lokal" deklariert hatte. In der Template-Übersetzenden Funktion waren sie somit natürlich nicht vorhanden...
 
Zurück