phpcms v9 生成静态页

phpcms生成的静态页目录规则是按照URL规则生成的, 静态页 内容是ob_clean前台模板文件产生的phpcms\templates\default,静态页的调试 :修改静态页,重新生成静态页再看效果,也可以调用前台控制/index.php?m=openservice&c=index&a=openservice修改好前台模板再生成。只要是静态页的链接都要及时同步文件,防止死链接,数据错误

Java代码  

  1. 1.  
  2. $urlrule = $site_info['domain'].'/webgame/index.html~'.$site_info['domain'].'/webgame/page_{$page}.html';  
  3. 2.  
  4. define('URLRULE', $site_info['domain'].'/webgame/{$webgamedir}/index.html~'.$site_info['domain'].'/webgame/{$webgamedir}/spec_{$page}.html');             
  5. $GLOBALS['URL_ARRAY'] = array('webgamedir'=>$filename);  

 

后台生成静态页的类phpcms\modules\*\classes\html.class.php,在后台控制器中调用

Java代码  

  1. /** 
  2.  * 生成开服首页 
  3.  */  
  4. public function create_index() {  
  5.     $html = pc_base::load_app_class('html');  
  6.     $size = $html->create_list();  
  7.     showmessage(L('index_create_finish',array('size'=>sizecount($size))));     
  8. }  

$html = pc_base::load_app_class('html', 'content'); 调用content下的html.class.php

 

array_shift递归调用批量生成静态页

Java代码  

  1.     /** 
  2.      * 生成静态文件 
  3.      * @param string $file 文件路径 
  4.      * @return boolen/intval 成功返回生成文件的大小 
  5.      */  
  6.     private function create_html($file) {  
  7.         $data = ob_get_contents();  
  8.         ob_end_clean();  
  9.         pc_base::load_sys_func('dir');  
  10.         dir_create(dirname($file));  
  11.         $strlen = file_put_contents($file, $data);  
  12.         @chmod($file, 0777);  
  13.         return $strlen;  
  14.     }  
  15.           
  16.     /** 
  17.      * 生成列表页 
  18.      */  
  19.     public function create_list() {  
  20.         $siteid = get_siteid();  
  21.         //分站时计算路径  
  22.         if ($siteid>1) {  
  23.             $site_info = $this->site->get_by_id($siteid);  
  24.             $file = pc_base::load_config('system', 'html_root').'/'.$site_info['dirname'].'/openservice/index.html';  
  25.         } else {  
  26.             $file = pc_base::load_config('system', 'html_root').'/openservice/index.html';  
  27.         }  
  28.         $this->queue->add_queue('add', $file, $siteid);  
  29.         $file  = PHPCMS_PATH.$file;  
  30.         ob_start();  
  31.         include template('openservice', 'index');  
  32.         return $this->create_html($file);  
  33.     }     
  34. //生成专题首页控制中心  
  35.     public function public_create_html() {  
  36.         $specials = getcache('create_specials', 'commons');  
  37.         if (is_array($specials) && !empty($specials)) {  
  38.             $specialid = array_shift($specials);  
  39.             setcache('create_specials', $specials, 'commons');  
  40.             $this->create_index($specialid);  
  41.         } else {  
  42.             delcache('create_specials', 'commons');  
  43.             showmessage(L('update_special_success'), '?m=special&c=special&a=init');  
  44.         }  
  45.     }  
  46.       
  47.     //生成某专题首页  
  48.     private function create_index($specialid) {  
  49.         $info = $this->db->get_one(array('id'=>$specialid));  
  50.         $html = pc_base::load_app_class('html');  
  51.         $html->_index($specialid);  
  52.         showmessage($info['title'].L('update_success'), '?m=special&c=special&a=public_create_html');  
  53.     }  

最近发现网站的生成的网页根目录太深了,就简单了编写了一个生成url规则到 

扩展 > URL规则管理 > 增加规则
首先添加一个栏目/列表页url生成规则

第二步:再添加一个内容页url生成规则
 

最后一步:在栏目管理里面进行html生成管理

在内容管理—栏目管理,点开相差的栏目具体设置那里,赫然看到HTML设置 。这才豁然开朗。仿佛是曲径通幽处了,官方为了把不同的栏目可以设置为不同的模式,分别设 置为静态或动态网页,所以,把设置的方法直接细化到了栏目管理里边去了。而不是统一的全局设置。跟上程序员的设计思路,这才是最重要的事

 

一、添加栏目

下面我们以一个实例来讲解PHPCMS v9 栏目的添加和设置相关内容。实例:向PHPCMS V9 默认栏目 国内 下面添加子栏目 军事新闻 和 政治新闻 

 

说明:如果管理栏目页没有默认栏目,请于管理界面右上角更新缓存。

二、栏目设置

 接下来填写栏目名称和目录,以及设置生成HTML设置选项,如下图所示:

栏目模版的选择设置,如下图所示:

 关于PHPCMS v9 栏目设置的SEO和收费设置比较简单,就不再介绍,下面介绍一下,栏目权限设置,如下图所示:

说明: 此处的配置设置菜单下,管理员设置->角色设置 相对应。

 栏目添加完以后,最后不要忘记更新栏目缓存,否则会引起一些未知错误,如下图所示:

 

说明:单网页和外部链接 ,基本和添加普通栏目是一样的设置。在这里就不再介绍。

时间: 2024-09-24 13:55:31

phpcms v9 生成静态页的相关文章

phpcms v9生成静态页面的路径去掉html目录

找到根目录/caches/configs/system.php文件并且打开   找到这一句:'html_root' => '/html',//生成静态文件路径,如图: 修改为  'html_root' => '/'即可去掉路径中的html了,或者你也可以修改成其它你想要的路径里面去来源:仿站,南京网站建

asp.net 生成静态页笔记

1.使用serever.Excute 复制代码 代码如下: StreamWriter sw = new StreamWriter(Server.MapPath("html/Login.html"), false); Server.Execute("ShowColumn.aspx?id=1&page=2", sw); sw.Close(); 2.替换字符 url重写 1.定义重写规则 urls.xml 变成urls.config 复制代码 代码如下: <

.NET中如何生成静态页

如何生成静态页:       方案1:    ///   <summary>    ///   传入URL返回网页的html代码    ///   </summary>    ///   <param   name="Url">URL</param>    ///   <returns></returns>    public   static     string   getUrltoHtml(string  

教你用Asp.NET 生成静态页

asp.net|静态     环境:Microsoft .NET Framework SDK v1.1 OS:Windows Server 2003 中文版ASP.Net生成静态HTML页在Asp中实现的生成静态页用到的FileSystemObject对象!     在.Net中涉及此类操作的是System.IO以下是程序代码 注:此代码非原创!参考别人代码     CODE://生成HTML页public static bool WriteFile(string strText,string

JSP生成静态页实践及其设计思想

js|静态|设计 引子:我们以两个大型网站为例作比较:51job和智联招聘(先声明我不是为他们作广告,仅以他们为例作技术上的比较)51job采用的是比较"先进"的php技术,而智联用的是比较落后的asp.但我们可能会明显的感觉到51job的反应速度相比智联招聘实在是太慢了,为什么会这样?细心的人可能会察觉到了.智联虽然用的是asp,但他采用了另一种更巧妙的技术--asp生成静态页技术.所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了.下面我们讨论一下jsp怎么转

asp生成静态页主要涉及三个方面:模板,参数,fso

fso|静态|模板 asp生成静态页主要涉及三个方面:模板,参数,fso. 1,模板:这个其实就是页面的框架,以下为模板的例子:###############################这就是一个模板###############################<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-t

Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法

asp.net|比较|静态 做网站时,有时为了提高性能会将网站首页生成静态页(当然, Asp.net中页面缓存也是一个不错的选择了将页面生成静态的方法有多中,据不完全统计有N种(N>1)呵呵以下的方法来自 "孟子E " 解释的方法 代码如下     protected override void Render(HtmlTextWriter writer)    ...{        System.IO.StringWriter html = new System.IO.Stri

教你用Asp.NET生成静态页

asp.net|静态     环境:Microsoft .NET Framework SDK v1.1 OS:Windows Server 2003 中文版ASP.Net生成静态HTML页在Asp中实现的生成静态页用到的FileSystemObject对象!    在.Net中涉及此类操作的是System.IO以下是程序代码 注:此代码非原创!参考别人代码     CODE://生成HTML页public static bool WriteFile(string strText,string s

ASP中用Server.Transfer实现Rewrite模拟生成静态页效

以前刚刚懂404.asp的时候,曾经幻想把所有程序代码写到404.asp中,实现一个模拟生成静态网页的站,如果程序小还可以,用404.asp实现Rewrite还是一个不错的选择,如果程序代码多达100000行,恐怕就要开始爬了 直到看到asp的Server.Transfer,用404模拟生成静态页的站的念头重新在我的脑海中浮现出来,现在即使在大的程序,也可以用ASP中的Server.Transfer轻松搞定 <!--#include file="bin/404_Query"--&