1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php xml网站地图生成 两种方法实现Dedecms地图制作 生成sitemap.xml方法 - 小俊学习网...

php xml网站地图生成 两种方法实现Dedecms地图制作 生成sitemap.xml方法 - 小俊学习网...

时间:2019-04-25 04:22:35

相关推荐

php xml网站地图生成 两种方法实现Dedecms地图制作 生成sitemap.xml方法 - 小俊学习网...

本文说的地图是网站的XML地图。

版本一

在模板目录制作以下页面,名称:sitemap.xml。

/

{dede:arclist row=1 titlelen=24 orderby=pubdate}[field:pubdate function=strftime('%Y-%m-%d',@me)/]{/dede:arclist}

daily

1.0

{dede:channel row='23' type='top'}

[field:typelink /]

daily

0.8

{/dede:channel}

{dede:arclist row=2000 orderby=pubdate}

[field:arcurl/]

[field:pubdate function=strftime('%Y-%m-%d',@me)/]

monthly

0.5

{/dede:arclist}

每天更新:

织梦后台-生成-HTML更新-更新主页HTML

选择模板:jncmb/sitemap.xml,主页位置:../sitemap.xml

或者

每日手动执行更新,/plus/task.php?client=js

手动写一个计划任务执行文件,将该文件命名为generate_sitemap.php,放在/plus/task目录里,文件的内容如下:

//定时生成网站地图

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.'/jncmb/sitemap.xml');

$html = $lv->PartView->GetResult();

file_put_contents('../../sitemap.xml',$html);

还是出现问题:

访问域名/sitemap.xml是空白网页,而查看源代码是正确的,不知什么原因。

版本二

采用后台单页生成xml地图

1. 在后台核心->频道模型->单页文档管理中,增加一个页面,我们可以称之为XML网站地图,内容如下图所示,点击保存。

2. {style}目录下(默认是templets/default/目录,根据自己的模板路径),创建一个sitemap.xml文件,内容如下:

{dede:php}

echo '<?xml version="1.0" encoding="utf-8"?>'. "\r\n";

echo '';

{/dede:php}

{dede:global.cfg_basehost/}

{dede:arclist row=1 titlelen=24 orderby=pubdate} [field:pubdate function=strftime('%Y-%m-%d',@me)/]{/dede:arclist}

1.0

{dede:channel row='23' type='top'}

[field:typelink /]

daily

0.8

{/dede:channel}

{dede:php}

$dsql->SetQuery('select id, typename from arctype where reid=0');

$dsql->Execute(1);

while($row=$dsql->GetArray(1))

{

$dsql->SetQuery('select id, typename from arctype where reid='. $row['id']);

$dsql->Execute(2);

while($row2=$dsql->GetArray(2))

{

$dsql->SetQuery('select * from arctype where reid='.$row2['id']);

$dsql->Execute(3);

while($row3=$dsql->GetObject(3))

{

$typelink = GetTypeUrl($row3->id,MfTypedir($row3->typedir),$row3->isdefault,$row3->defaultname,$row3->ispart,$row3->namerule2,$row3->moresite,$row3->siteurl,$row3->sitepath);

echo "\r\n";

echo ' '. $typelink. "\r\n";

echo ' '. "\r\n";

echo ' '. "\r\n";

echo " ";

}

}

}

{/dede:php}

{dede:arclist orderby=pubdate row='10000'}

[field:arcurl/]

[field:pubdate function="GetDateTimeMK(@me)"/]

monthly

0.8

{/dede:arclist}

{dede:sql sql='Select filename, uptime from sgpage where filename != "sitemap.xml" AND filename != "404.html"'}

[field:filename/]

[field:uptime function=strftime('%Y-%m-%d',@me)/]

monthly

0.4

{/dede:sql}

到此,以上两种方法都能实现网站的xml地图制作,访问自己的域名查看,/sitemap.xml。

历史上的今天:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。