smarty实现PHP静态化
smarty中有一个获取模板页内容方法fetch(), 它的声明原形是这样的: ?php function fetch ( $resource_name , $cache_id = null , $compile_id = null , $display = false ) ? 第一个参数为模板名称, 第二个参数为缓存的id, 第三个参数为编译id, 第四个参数为
smarty中有一个获取模板页内容方法fetch(), 它的声明原形是这样的:
第一个参数为模板名称, 第二个参数为缓存的id, 第三个参数为编译id, 第四个参数为是否显示模板内容. 生成静态页我们就需要用到这个方法.
function fetch($resource_name, $cache_id = null,
$compile_id = null, $display = false)
?>
$smarty = new Smarty();
//其它模板替换语法...
//下面这句取得页面中所有内容, 注意最后一个参数为false
$content = $smarty->fetch('模板名称.tpl', null, null, false);
//下面将内容写入至一个静态文件
$fp = fopen('news.html', 'w');
fwrite($fp, $content);
fclose($fp);
//OK, 到这里这个news.html静态页就生成了, 你可以处理你下一步的工作了
?>
关于新闻表的设置问题你只需要: 代码: 补充: 这个URL在新闻入库的时候就要生成, 具体的过程是这样的:
create table news (
id int unsgined not null primary key auto_increment,
title varchar(255),
author varchar(50),
url varchar(100), /* 这里是生成静态页的地址 */
... /*其它字段*/
);
?>
页面上你将新闻地址提取出来后就OK了..
1. 页面填写新闻内容, 提交表单
2. 按时间或是你自定义的格式生成URL
3. 拼接SQL语句, 将新闻内容写入数据库, 注意这时也要将URL的值写入
4. 取得模板页面内容, 按URL地址生成静态页
URL字段不会自动产生内容的...
上一篇: 新手学习smarty 总是出现异常码
下一篇: 求数组重组代码