点评:dedecms网站地图很好用,但sitemap.htm所调用的标签很有限,下面有个不错的方法可以解决这个问题dedecms网站地图很好用,但sitemap.htm所调用的标签很有限,分析了一下makehtml_map.php?dopost=site这个文件,发现生成视图用的是dedetag.class.php文件,有点简单。所以不能使用织梦的很多标签,例如:
代码如下:
{dede:arclist titlelen=25 row='25'}
<a href=[field:arcurl/]>[field:title/]</a>
{/dede:arclist}
就不能解析出列表。
现在仿照首页的方法,使用arc.partview.class.php,这是一个视图类,可以解析这些标签。
修改makehtml_map.php如下:
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、将
代码如下:
$murl = $cfg_cmspath./data/sitemap.html;
$tmpfile = $cfg_basedir.$cfg_templets_dir./plus/sitemap.htm;
改成
$murl = $cfg_cmspath./sitemap.html;//把生成的网站地图放在网站根目录下,data目录一般设置了蜘蛛不抓取
$tmpfile = $cfg_basedir.$cfg_templets_dir./.$cfg_df_style./sitemap.htm;//同时把网站地图模板改在默认的模板文件夹下
现在就可以解析dedecms所有的标签了,包括文章列表标签。