
跟上次帝国CMS一样,织梦dedecms这块也打算弄个自动生成站点地图sitemap.xml文件的功能,本来想用织梦CMS的计划任务,但是测试发现好像不太好使,还是用宝塔的计划任务来实现吧。
首先,得先有个sitemap文件的模板文件,这个上次我们发过了,看这篇《织梦CMS通用sitemap.xml文件模板》
然后,新建一个generate_sitemap.php,放在/plus/task目录里,文件的内容如下:
<?php
//定时生成网站地图
require_once(dirname(__FILE__).'/../../include/common.inc.php');
include(DEDEINC."/arc.listview.class.php");
$lv = new ListView();
//解析模板到字符串
$lv->PartView = new PartView($lv->TypeID,false);
$lv->PartView->SetTypeLink($lv->TypeLink);
$lv->PartView->SetTemplet(DEDETEMPLATE.'/模板文件夹名称/sitemap.htm');
$html = $lv->PartView->GetResult();
file_put_contents('../../sitemap.xml',$html);
?>
使用宝塔面板的计划任务功能,设置什么时间执行generate_sitemap.php文件,执行的同时就会自动生成sitemap.xml
