找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 152|回复: 0

[cms教程] Dedecms网站地图获取文章列表支持标签调用的方法

[复制链接]

该用户从未签到

发表于 2020-12-31 16:32:19 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Dedecms网站地图很好用,但sitemap.htm所调用的标签很有限,分析了一下makehtml_map.php?dopost=site这个文件,发现生成视图用的是dedetag.class.php文件,有点简单。所以不能使用织梦的很多标签,例如:
         
        代码如下:
        {dede:arclist titlelen=25 row='25'}
        [url=,[field:title/,[/url]
        {/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所有的标签了,包括文章列表标签。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-5 18:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表