织梦sitemap模板获取文章列表

分析了一下makehtml_map.php?dopost=site这个文件,发现生成视图用的是dedetag.class.php文件,有点简单。不能使用织梦的很多标签,例如:

{dede:arclist titlelen=25 row='25'}[field:title/]{/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、26行 把

    $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所有的标签了,包括文章列表标签。


原文出处:http://blog.sina.com.cn/s/blog_b4cbba7e0101djxh.html

原文地址:https://www.cnblogs.com/riskyer/p/3320291.html