dedecms网站地图相信都很熟悉,不仅能提供给用户便捷的浏览,更能提供给搜索引擎很好的抓取,但sitemap.htm所调用的标签很有限,分析了一下makehtml_map.phpdopost=site这个文件,发现生成视图用的是dedetag.class.php文件,有点简单。所以不能使用织梦的很多标签,例如:
代码如下:
{dede:arclist titlelen=25 row='25'}
[field:title/]
{/dede:arclist}
就不能解析出列表。
现在仿照首页的方法,使用arc.partview.class.php,这是一个视图类,可以解析这些标签。
修改dede目录下的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();
现在就可以解析dedecms所有的标签了,使用上面的调用列表的标签就可以调用出文章列表了。