织梦cms栏目生成静态文件

静态生成概述

织梦CMS的核心优势之一就是支持生成纯静态HTML文件。通过将动态PHP页面预先生成为静态HTML,可以大幅提升网站的访问速度和承载能力,同时减少服务器资源消耗。栏目的静态生成涉及栏目列表页和内容页的HTML生成。

一、设置栏目为静态模式

首先需要为栏目开启静态生成功能:

  1. 进入 核心 > 栏目管理
  2. 点击目标栏目的"更改"
  3. "栏目属性"中找到以下设置:
栏目列表使用动态/静态:   静态  ?
文章内容使用动态/静态:   静态  ?

保存后,该栏目将使用静态HTML方式访问。

二、静态文件的生成规则

页面类型生成路径示例
栏目首页{typedir}/index.html/news/index.html
栏目列表第N页{typedir}/list_{N}.html/news/list_2.html
文章内容页自定义命名规则/news/2024/0801/1.html

三、生成栏目HTML的操作步骤

通过后台手动生成静态文件:

  1. 进入 生成 > 更新栏目HTML
  2. 选择需要生成的栏目(可多选)
  3. 可选择生成范围:
    • 仅更新栏目首页
    • 更新栏目下所有列表页(包含分页)
    • 同时更新栏目下的内容页
  4. 点击"开始生成"
  5. 等待生成进度条完成

四、一键更新全站静态文件

<!-- 后台操作路径 -->
生成 > 一键更新网站
  ├─ 更新主页HTML
  ├─ 更新栏目HTML
  ├─ 更新文档HTML
  └─ 更新专题HTML

五、定时自动生成

通过定时任务实现栏目HTML的自动更新:

<!-- Linux Crontab 定时生成 -->
<!-- 每小时生成一次首页和栏目 -->
0 * * * * /usr/bin/php /www/web/yourdomain/makehtml.php

<!-- makehtml.php 内容示例 -->
<?php
require_once(dirname(__FILE__)."/include/common.inc.php");
require_once(DEDEINC."/arc.partview.class.php");

// 更新首页
$pv=new PartView();
$pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/index.htm");
$pv->SaveToHtml($cfg_basedir.$cfg_cmspath."/index.html");

// 更新所有栏目
$dsql->SetQuery("SELECT id FROM dede_arctype WHERE ishidden=0");
$dsql->Execute();
while($row=$dsql->GetArray()){
    // 调用栏目生成函数
}
?>

六、常见的栏目生成问题

七、动态与静态访问切换

可在模板中添加动态访问的备用链接:

<!-- 动态访问链接(用于调试或临时切换) -->
<a href="/plus/list.php?tid={dede:field.id/}">动态查看</a>

<!-- 文章动态访问 -->
<a href="/plus/view.php?aid={dede:field.id/}">动态查看</a>
优化建议:对于大型网站(万级以上文章),建议开启栏目首页静态+文章内容静态的组合方式。栏目列表的分页页面可选择动态访问以减少服务器存储空间和维护成本。