Dedecms網(wǎng)站地圖獲取文章列表支持標(biāo)簽調(diào)用的方法

字號(hào):


    Dedecms網(wǎng)站地圖很好用,但sitemap.htm所調(diào)用的標(biāo)簽很有限,分析了一下makehtml_map.php?dopost=site這個(gè)文件,發(fā)現(xiàn)生成視圖用的是dedetag.class.php文件,有點(diǎn)簡(jiǎn)單。所以不能使用織夢(mèng)的很多標(biāo)簽,例如:
    代碼如下:
    {dede:arclist titlelen=25 row='25'}
    <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}
    就不能解析出列表。
    現(xiàn)在仿照首頁(yè)的方法,使用arc.partview.class.php,這是一個(gè)視圖類(lèi),可以解析這些標(biāo)簽。
    修改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";//把生成的網(wǎng)站地圖放在網(wǎng)站根目錄下,data目錄一般設(shè)置了蜘蛛不抓取
    $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";//同時(shí)把網(wǎng)站地圖模板改在默認(rèn)的模板文件夾下
    現(xiàn)在就可以解析dedecms所有的標(biāo)簽了,包括文章列表標(biāo)簽。