Dedecms网站地图获取文章列表支持标签调用的方法
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,这是一个视图类,可以解析这些标签。
修改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所有的标签了,使用上面的调用列表的标签就可以调用出文章列表了。
温馨提示:为避免将data目录内的东西随便外泄,在robots中将data目录屏蔽了,这样的话搜索引擎就无法抓取到网站地图,所以需要DEDE生成的网站地图放在系统根目录下面,请查看<<怎么修改织梦dedecms自带的网站地图路径>>解决办法。
本文网址:https://www.dedexuexi.com/dedejiaocheng/azsy/94.html
本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。