是否可以使用smarty模板没有tpl文件


Is it possible to use smarty template without tpl file?

我需要将数据分配给javascript源。是否可以使用smarty模板没有tpl文件。像这样…

$sHtml = '
    {foreach from=$myArray key=k item=v}
       <li>{$k}: {$v}</li>
    {/foreach}
';
$arr = array(9 => 'Tennis', 3 => 'Swimming', 8 => 'Coding');
$oSmarty = new smarty();
$oSmarty->assign('myArray', $arr);
$result = $oSmarty->fetch($sHtml);
echo $result;

像这样返回…

<li>9: Tennis</li>
<li>3: Swimming</li>
<li>8: Coding</li>

从Smarty 3开始,你可以使用

$smarty->fetch('string:'.$content);

查看此处获取更多信息:字符串模板资源

如果你正在使用Smarty <您可以将$sHtml的内容保存在一个临时文件中,并将文件名传递给fetch调用:>

$smarty->fetch('file:/full/path/to/tmp/file');