这是一个很奇葩的需求,但有时候也有用!
smarty有静态缓存,而且能够设置缓存时间为永久,但还是要做html页面静态化.
比如交易网站,要把页面和静态数据交易出去,但保留数据库等.


fetch

取得输出的内容
string fetch (string template [, string cache_id [, string compile_id]])

返回一个模板输出的内容(HTML代码),而不是直接显示出来,需要指定一个合法的模 板资源的类型和路径。你还可以通过 第二个可选参数指定一个缓存号,相关的信息可以查看缓存。

通过第三个可选参数,可以指定一个编译号。
$smarty = new Smarty();
//其它模板替换语法...

//下面这句取得页面中所有内容, 注意最后一个参数为false
$content = $smarty->fetch('模板名称.tpl', null, null, false);

//下面将内容写入至一个静态文件
$fp = fopen('news.html', 'w');
fwrite($fp, $content);
fclose($fp);