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

织梦教程 强烈建议 2024-02-26 11:31 91 0

  Dedecms网站地图很好用,但sitemap.htm所调用的标签很有限,分析了一下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、将

  代码如下:

  $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";//同时把网站地图模板改在默认的模板文件夹下

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!