Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29313351
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2009-07-27 23:31:40

smarty中有一个获取模板页内容方法fetch(), 它的声明原形是这样的:

function fetch($resource_name, $cache_id = null
,
$compile_id = null, $display = false
)

?>
第一个参数为模板名称, 第二个参数为缓存的id, 第三个参数为编译id, 第四个参数为是否显示模板内容. 生成静态页我们就需要用到这个方法.



$smarty = new Smarty();
//其它模板替换语法...

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

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

//OK, 到这里这个news.html静态页就生成了, 你可以处理你下一步的工作了
?>
关于新闻表的设置问题你只需要:
代码:


create table news
(
id int unsgined not null primary key auto_increment
,
title varchar(255
),
author varchar(50
),
url varchar(100),
/* 这里是生成静态页的地址 */
...
/*其它字段*/
);

?>




页面上你将新闻地址提取出来后就OK了..
补充:
这个URL在新闻入库的时候就要生成, 具体的过程是这样的:
1. 页面填写新闻内容, 提交表单
2. 按时间或是你自定义的格式生成URL
3. 拼接SQL语句, 将新闻内容写入数据库, 注意这时也要将URL的值写入
4. 取得模板页面内容, 按URL地址生成静态页

URL字段不会自动产生内容的...

但我自己,遗留的问题,就是,生成的静态页,以后,怎么换模板,就是如果,我的页面风格,变了,


怎么才能让生成好的,以后,再访问的时候,也变呢?



有谁知道,请给我留言,非常感谢!

阅读(1842) | 评论(6) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-09-09 21:11:35

完全用css控制页面来做,也就是div是一样的,但css控制不一样

chinaunix网友2009-08-01 17:14:03

检测到有新模版就以新模版为主目录,再生成一次静态页. 在下愚见,欢迎讨论.

chinaunix网友2009-07-28 09:38:55

一定要学有所专!可能会选择敏捷开发!

chinaunix网友2009-07-28 09:31:38

现在的学习方向是敏捷开发!说不定将来可能会专注这一块

chinaunix网友2009-07-28 09:19:24

要有行动力。知道自己的目标这样学习起来会非常有劲头的!