织梦dedecms如何自动生成xml格式网站地图

灵兮 2024-1-17 51 1/17

织梦dedecms程序生成xml格式网站地图,这个也是非常简单的,大家按照以下几个步骤操作就行了,首先登录织梦程序后台,点击核心 – 频道模型- 自由列表管理,再点击添加自由列表。

大家按照以下填写:
自由列表标题:【XML地图】列表(可以自己命名);
列表HTML存放目录:{cmspath}/(表示XML地图存放在网站根目录);
目录默认页名称:sitemap.xml(网站地图名称);
命名规则:{listdir}/sitemap.xml(网站命名规则);
列表模板:{style}/sitemap_xml.htm(网站地图模板文件);
每页记录数:30000;
限定频道:普通文章;
复制以下代码新建成一个xml地图文件,命名为sitemap_xml.htm,,上传至织梦程序/templets/default/模板文件夹中。

<?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:arcurl/]</loc>
<lastmod>[field:pubdate function=”GetDateMK(@me)”/]</lastmod>
</url>
{/dede:arclist}
{dede:channelartlist row=’50’}
<url>
<loc>{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:typelink/]</loc>
<lastmod>[field:id runphp=”yes”]@me=date(‘Y-m-d’);[/field:id]</lastmod>
</url>
{/dede:channel}
{/dede:channelartlist}
</urlset>

继续修改地图代码
下面继续修改程序代码,找到dede后台目录,找到 makehtml_map.php 修改,过程繁琐,直接放上整体代码如下:

<?php
/**
* 生成网站地图
*
* @version $Id: makehtml_map.php 1 11:17 2010年7月19日Z tianya $
* @package DedeCMS.Administrator
* @copyright Copyright (c) 2007 – 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once(dirname(__FILE__).”/config.php”);
require_once(DEDEINC.”/sitemap.class.php”);
require_once(DEDEINC.”/dedetag.class.php”);
require_once DEDEINC.”/arc.partview.class.php”;

if(empty($dopost))
{
ShowMsg(“参数错误!”,”-1″);
exit();
}
$isremote = empty($isremote)? 0 : $isremote;
$serviterm=empty($serviterm)? “” : $serviterm;
$sm = new SiteMap();
$maplist = $sm->GetSiteMap($dopost);
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”;//原始地图文件目录
}
//$dtp = new DedeTagParse();
//$dtp->LoadTemplet($tmpfile);
//$dtp->SaveTo($cfg_basedir.$murl);
$pv = new PartView();
$pv->SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录
$pv->SaveToHtml($cfg_basedir.$murl); //生成文件名,保存在根目录
if($cfg_remote_site==’Y’ && $isremote == 1)
{
if($serviterm!=””)
{
list($servurl, $servuser, $servpwd) = explode(‘,’, $serviterm);
$config=array( ‘hostname’ => $servurl, ‘username’ => $servuser,
‘password’ => $servpwd,’debug’ => ‘TRUE’);
} else {
$config=array();
}
if( $ftp->connect($config) )
{
//分析远程文件路径
$remotefile = $murl;
$localfile = ‘..’.$remotefile;
$remotedir = preg_replace(‘#[^\/]*\.html#’, ”, $remotefile);
$ftp->rmkdir($remotedir);
if($ftp->upload($localfile, $remotefile, ‘acii’)) echo “远程发布成功!”.”<br />”;
}
}
//$pv->Clear();
echo “<a href=’$murl’ target=’_blank’>成功更新文件: $murl 浏览…</a>”;
exit();

基本差不多了,如果你配置成功了给我留一句言。

完成网站地图改造
使用方法:在你织梦后台生成的地方,点击更新网站地图,那么这个网站地图的问题就完美结局了。

织梦dedecms如何自动生成xml格式网站地图
点击更新网站地图
- THE END -

灵兮

1月17日10:29

最后修改:2024年1月17日
0

非特殊说明,本博所有文章均为博主原创。