Smarty template Problem
Esel
- sonstiges
-2 Christoph Schnauß- php
0 Dennis
0 Tobias Kloth1 Joachim
Hallo Forum,
ich möchte an eine Smarty Template einen Filenamen übergeben, um diesen zu inkludieren.
Nun ist die include Anweisung aber selber in geschweiften Klammern und es kommt ein Syntaxfehler. Geht das überhaupt?
{include file="../{$id}"}
hallo,
ich möchte an eine Smarty Template einen Filenamen übergeben, um diesen zu inkludieren.
Warum denn? Dein Template ist vermutlich eine HTML-Datei, die du beispielsweise template.tpl genannt hast. Darin hast du Platzhalter stehen, zum Beispiel:
{includefile}
Es gibt außerdem eine PHP-Funktion, in der du den Inhalt dieser Variablen bestimmst. In dieser Funktion liest du nun den Inhalt der Datei ein, die du in dein Template übernehmen möchtest - bitte _nicht_ mit include(), sondern mit file() oder file_get_contents() - und ordnest das deiner Variablen $includefile zu. Das Ganze übergibst du dann mit
$smarty->assign("includefile"=>$includefile);
$smarty->display('template.tpl');
an Smarty. Fertig. Es gibt für Smarts auch ein nettes kleines Tutorial, das du für solche Fragen konsultieren kannst.
Grüße aus Berlin
Christoph S.
Hi Christoph,
In dieser Funktion liest du nun den Inhalt der Datei ein, die du in dein Template übernehmen möchtest - bitte _nicht_ mit include(), sondern mit file() oder file_get_contents() - und ordnest das deiner Variablen $includefile zu.
Und was, wenn der Includefile ein weiteres Smarty-Template ist, welches weiteren Smarty-Code enthält, der zu parsen ist? Was wenn der Include-File vom Template-Designer mit einem Prefix oder so versehen werden können soll?
MfG, Dennis.
Hallo,
ich möchte an eine Smarty Template einen Filenamen übergeben, um diesen zu inkludieren.
Nun ist die include Anweisung aber selber in geschweiften Klammern und es kommt ein Syntaxfehler. Geht das überhaupt?
ja - lass die geschweiften Klammern um die Variable einfach weg: {include file="../$id"}
Grüße aus Nürnberg
Tobias
Hi,
{include file="../{$id}"}
http://smarty.incutio.com/?page=SmartyFrequentlyAskedQuestions#template-7
ggf maskieren:
http://smarty.php.net/manual/de/language.syntax.quotes.php
Gruesse, Joachim