今天就研究了下怎么用織夢(mèng)dedecms生成正確的sitemap文件 。
織夢(mèng)dedecms生成百度地圖 。
好了 直接看步驟吧 。
1.dedecms 生成里面有一個(gè)生成地圖,原來這個(gè)生成的是html,不是我們想要的,而且只生成欄目的,沒文章,但是這個(gè)界面我們可以方便操作,所以就在這上面來進(jìn)行修改 。
2.在 /templets/plus 目錄下 找到兩個(gè)文件sitemap.htm 和 rssmap.htm,前者我們當(dāng)中是百度的sitemap 后者我們當(dāng)中谷歌的sitemap 。
3.
修改sitemap.htm :把原來的代碼全部刪除 然后用下面的代碼 。
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>{dede:global.cfg_basehost/}</loc> <changefreq>always</changefreq> <priority>1.0</priority> </url> {dede:arclist row='10000' orderby='pubdate'}<url> <loc>[field:global.cfg_basehost/][field:arcurl/]</loc> <lastmod>[field:pubdate function="GetDateMK(@me)"/]</lastmod> </url> {/dede:arclist} {dede:channelartlist row='50'} <url> <loc>{dede:global.cfg_basehost/}{dede:field name='typeurl'/}</loc> <lastmod>{dede:php}echo date('Y-m-d');{/dede:php}</lastmod> </url> {dede:channel type='son' row='8'} <url> <loc>[field:global.cfg_basehost/][field:typelink/]</loc> <lastmod>[field:id runphp="yes"]@me=date('Y-m-d');[/field:id]</lastmod> </url> {/dede:channel} {/dede:channelartlist}</urlset>修改rssmap.htm:把原來的代碼全部刪除 然后用下面的代碼
<?xml version='1.0' encoding='UTF-8'?> <urlset xmlns='http://www.google.com/schemas/sitemap/0.84'> {dede:arclist typeid='0' } <url><loc>[field:global.cfg_basehost/][field:arcurl/]</loc><lastmod>[field:pubdate function="MyDate('Y-m-d',@me)"/]</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url> {/dede:arclist} {dede:channelartlist row=50} <url><loc>{dede:global.cfg_basehost/}{dede:field name='typeurl'/}</loc><lastmod>{dede:php}echo date('Y-m-d');{/dede:php}</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url> {dede:channel type='son' row='8'} <url><loc>[field:global.cfg_basehost/][field:typelink/]</loc><lastmod>[field:id runphp="yes"]@me=date('Y-m-d');[/field:id]</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url>{/dede:channel}{/dede:channelartlist}</urlset>大家也可以自行修改條數(shù)
4.重點(diǎn)
之前我就是這個(gè)地方有問題,一直生成不了數(shù)據(jù),后來改了一些方法調(diào)用才OK
找到dede后臺(tái)目錄 找到 makehtml_map.php 修改
在上面引用文件的時(shí)候 加一句 :require_once DEDEINC.”/arc.partview.class.php”;
搜索 if($dopost==”site”)
然后把這個(gè)判斷里面的代碼替換掉:
if($dopost==”site”){$murl = $cfg_cmspath.”/sitemap.xml”;$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/sitemap.htm”;}else{$murl = $cfg_cmspath.”/rssmap.xml”;$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/rssmap.htm”;}(原因: 1.html改為xml 不用多說 格式問題 2.把data去掉了,因?yàn)閟itemap這樣的文件放到根目錄效果更好 )
//$dtp = new DedeTagParse();
//$dtp->LoadTemplet($tmpfile);
//$dtp->SaveTo($cfg_basedir.$murl);
把這3句話注釋掉
在上面的判斷下面加入
$pv = new PartView();
$pv->SetTemplet($tmpfile); //在這里修改你的谷歌地圖模板路徑,相對(duì)于模板目錄
$pv->SaveToHtml($cfg_basedir.$murl); //生成文件名,保存在根目錄
以上就是dedecms5.7 生成百度地圖sitemap和谷歌地圖sitemap教程的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)和解決疑問有所幫助,也希望大家多多支持武林網(wǎng)。新聞熱點(diǎn)
疑難解答
圖片精選