全网仿站服务商

仿站网站二次开发,低至500元,最快24小时内上线

咨询热线:18096623820

Dedecms如何生成sitemap

我们知道dedecms没有关于生成sitemap的功能,也没有类似和插件,我们只能自行去扩展这样的功能,如何在dedecms生成sitemap呢,下面我来介绍一下怎样实现。
 
一、我们在模板目录下制作一个sitemap.xml模板,具体内容如下:
 
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>/</loc>
<lastmod>{dede:arclist row=1 titlelen=24 orderby=pubdate}
[field:pubdate function=strftime('%Y-%m-%d',@me)/]
{/dede:arclist}</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
{dede:channel row='10' type='top'}
<url>
<loc>[field:typelink /]</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
{/dede:channel}
{dede:arclist row=1000 orderby=pubdate}
<url>
<loc>[field:arcurl/]</loc>
<lastmod>[field:pubdate function=strftime('%Y-%m-%d',@me)/]</lastmod>
<changefreq>monthly</changefreq>
</url>
{/dede:arclist}
</urlset>
 
把完成的sitemap.xml模板放在我们模板目录下.
 
二 、在/plus/task 目录下存入generate_sitemap.php文件,内容如下:
 
<?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.'/default/sitemap.xml');
$html = $lv->PartView->GetResult();
file_put_contents('../../sitemap.xml',$html);
?>
 
三、网上很多人讲了存计dedecms计划任务中,但其中有个缺陷,就是触发程序生成问题,这里我们还是采取最优化的处理方法,向大家介绍一下服务器中的计划任务。
 
利用服务器中的crond服务来加载我们计划文件,打开crontab -e
 
输入 59 23 * * * curl  /plus/task/generate_sitemap.php  表时每天23点59分来执行生成文件,每天sitemap.xml就会更新一次。
 
这是最稳妥的方法,建站,仿站找爱虎仿站,专业又稳妥。
 
 
 
 
 
 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。