Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5096199
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

分类:

2010-06-13 04:05:37


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

<?php

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

?>


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

 

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

   
   //下面这句取得页面中所有内容, 注意最后一个参数为false

  $content = $smarty->fetch('模板名称.tpl', null, null, false);
   
  //下面将内容写入至一个静态文件

  $fp = fopen('news.html', 'w');
  fwrite($fp, $content);
  fclose($fp);

  //OK, 到这里这个news.html静态页就生成了, 你可以处理你下一步的工作了

?>


关于新闻表的设置问题你只需要:
代码:

<?php

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字段不会自动产生内容的...


 

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