求smarty生成静态页面的详细方法。越详细越加分

我在网上找到的资料都不详细。高分求教程。不要伪静态。... 我在网上找到的资料都不详细。高分求教程。不要伪静态。 展开
 我来答
ropue2000
2011-03-08 · TA获得超过982个赞
知道小有建树答主
回答量:874
采纳率:0%
帮助的人:572万
展开全部
Smarty类文件smartt.class.php添加个生成文件函数:
function MakeHtmlFile($file_name, $c)
{
if(!$fp = fopen($file_name, "wa"))
{
echo "文件打开失败!";
return false;
}
if(!fwrite($fp, $c))
{
echo "文件写入失败!";
fclose($fp);
return false;
}
fclose($fp);
}

一般在动态使用时调用显示模板$smarty->display("index.html");
生成静态只需要将$smarty->display("index.html");修改为:
$smarty->MakeHtmlFile("index.html",$smarty->fetch("index.html"));
//MakeHtmlFile函数说明
//参数一:html文件保存路径;参数2:写入的内容
womanv
2011-03-01 · TA获得超过818个赞
知道小有建树答主
回答量:898
采纳率:0%
帮助的人:1047万
展开全部
先简单跟你讲一下
传id = 1
//先做assign
$smarty->assign('xx', xx);
再取解析后的内容(这步最关键)
$content = $smarty->fetch('test.tpl');
最后写入静态文件里。
file_put_contents($id . '.html', $content);

这个是生成一个id为1的静态文件。如果想生成多个,可以使用for 循环去做。
有不明白的,你可以发站内消息给我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
影视风向标
2011-03-05 · TA获得超过330个赞
知道答主
回答量:75
采纳率:0%
帮助的人:47.4万
展开全部
Smarty 读取数据库的

$sql="select * from gg_article";
$result=mysql_query($sql,$link);
while ($rs=mysql_fetch_array($result)){
$content[]=$rs;
//$content[]=array('art_title'=>$rs['art_title'],'art_content'=>$rs['art_content']);
}
$Smarty->assign('guests',$content);
$Smarty->display('text.html');

text.html文件
{foreach from = $guests item = guest}
<b> {$guest.art_id}++++++{$guest.art_title} </b><br>
{$guest.art_content} <br>================<br>
{/foreach}

我也刚学 共同学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式