thinkphp页面真静态化实现方法

2024-10-14 01:29:32

1、在执行之前,要在根目录下的程序入口文件index.php中进行如下配置://生成静态页面的文件位置define('HTML_PATH', './HTML/');

thinkphp页面真静态化实现方法

3、//列表页面静态化 public function sethtml(){ $id = I("param.id"稆糨孝汶;,"","trim"); $m = M('category'); if (!$id) { return 0;//执行失败 } $catdir = trim($id); $where['id']=$catdir; $cat = $m->where($where)->limit(1)->find(); if (empty($cat)) { return 0;//执行失败 } $psize = 10; //每个分页展示几条数据 $where['category_id'] = $cat['id']; $count = M('article')->where($where)->count();//当前分类下文章总数 $pagecount = ceil(intval($count)/intval($psize)); //分页数(向上取整) $host = I("server.HTTP_HOST"); //多页面,列表分页 if($pagecount > 1){ for($i=1;$i<=$pagecount;$i++){ $url = 'http://'.$host.'/Admin/list/articleList/id/'.$catdir.'/p/'.$i.''; $dir = "./news/".A("base")->getPinyin($cat['name']); $dirs = "./news"; $filename = 'index_'.$i; //分类名[当前文件名] $res = $this->createHtml($url,$dir,$filename);//创建静态文件 if(!$res){ $save = "/news/".A("base")->getPinyin($cat['name']); $up_url = M("category")->where("id = '$id'")->setfield("url",$save); return 0;//执行失败 } } } //单页面 $url = 'http://'.$host.'/Admin/list/articleList/id/'.$catdir.''; $dir = "./news/".A("base")->getPinyin($cat['name']); $dirs = "./news"; $filename = 'index'; //分类名当文件名 $res = $this->createHtml($url,$dir,$filename); if($res){ $save = "/news/".A("base")->getPinyin($cat['name']); $up_url = M("category")->where("id = '$id'")->setfield("url",$save); return 1;//执行成功 }else{ return 0;//执行失败 } }

thinkphp页面真静态化实现方法

5、CREATE TABLE `news_category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pid` int(11) NOT NULL, `name` varchar(20) NOT NULL COMMENT '类别名称', `alias` varchar(20) NOT NULL COMMENT '别名', `sort` int(11) NOT NULL COMMENT '排序', `url` varchar(255) NOT NULL, `lv` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='新闻栏目表';

thinkphp页面真静态化实现方法

7、CREATE TABLE `news_article` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL COMMENT '新闻栏目id', `publisher` int(11) NOT NULL COMMENT '发布者', `title` varchar(50) NOT NULL COMMENT '文章标题', `content` text NOT NULL COMMENT '新闻内容', `keywords` varchar(255) NOT NULL COMMENT '关键字', `flag` varchar(11) NOT NULL COMMENT '属性', `description` varchar(255) NOT NULL COMMENT '描述', `img` varchar(255) NOT NULL, `url` varchar(255) NOT NULL COMMENT '静态url', `addtime` varchar(20) NOT NULL COMMENT '添加时间', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COMMENT='新闻表';

thinkphp页面真静态化实现方法

9、注意页面模板引用的css,js的地址防止生成的静态页面找不到对应的css,js路径

thinkphp页面真静态化实现方法
猜你喜欢