zoukankan      html  css  js  c++  java
  • 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,这是一个视图类,可以解析这些标签。
    修改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所有的标签了,包括文章列表标签。

    清风明月本无价,近水远山皆有情。
  • 相关阅读:
    Python的异常处理
    flex stage.width 与stage.stageWidth的区别
    Flex timer使用 keydown事件注册到stage
    flex 事件注册和鼠标拖动
    window.open a.href打开窗口referer的问题
    java UUID的创建
    flex chrome浏览器调试flex程序
    EL表达式 requestScope initParam用法
    Java8 Lumbda表达式 初步
    jQuery 动画的执行
  • 原文地址:https://www.cnblogs.com/onlylove2015/p/4395458.html
Copyright © 2011-2022 走看看