Der folgende Beitrag wurde am 29. 05. 2006, 13:15 Uhr von Esel veröffentlicht.
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}"}
Der folgende Beitrag wurde am 29. 05. 2006, 13:29 Uhr von Christoph Schnauß veröffentlicht.
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.
--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|
Der folgende Beitrag wurde am 29. 05. 2006, 18:06 Uhr von Dennis veröffentlicht.
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.
--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Patch zur Verwendung von PATHINFO in JLog
Immer wenn man etwas anders macht, wird man wieder Leute gegen sich haben. (Jürgen Kliensmann)
Der folgende Beitrag wurde am 29. 05. 2006, 13:57 Uhr von Tobias Kloth veröffentlicht.
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
--
TOP7: Hinweise, dass du Single bist
Softwaretipp: TV-Browser
Der folgende Beitrag wurde am 29. 05. 2006, 15:15 Uhr von Joachim veröffentlicht.
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
--
Am Ende wird alles gut.
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4