如何让Dedecms站点地图支持调用获取文章列表标签?
Dedecms站点地图默认调用的是dedetag.class.php类,里面很多dedecms标签是不能用的,我们修改文件让它支持标签调用数据使用功能。
修改文件为:/dede/makehtml_map.php文件,用于控制dedecms网站地图生成
1、引入新的视图文件
require_once(DEDEINC."/dedetag.class.php");
修改为:
require_once(DEDEINC."/arc.partview.class.php");
2、修改调用的视图对象
$dtp = new DedeTagParse();
$dtp->LoadTemplet($tmpfile);
$dtp->SaveTo($cfg_basedir.$murl);
修改为:
$dtp = new PartView();
$GLOBALS['_arclistEnv'] = 'index';
$dtp->SetTemplet($tmpfile);
$dtp->SaveToHtml($cfg_basedir.$murl);
3、注销以下代码
$dtp->Clear();
改成
//$dtp->Clear();
4、修改sitemap的生成路径,更有利于搜索引擎的抓取
$murl = $cfg_cmspath."/data/sitemap.html";
$tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";
修改为:
//把生成的网站地图放在网站根目录下,data目录一般设置了蜘蛛不抓取
$murl = $cfg_cmspath."/sitemap.html";
//同时把网站地图模板改在默认的模板文件夹下
$tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap