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自带的网站地图路径>>解决办法。
支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论