首页 > 学院 > 开发设计 > 正文

修改织梦dedecms自带网站地图路径和获取文章列表支持标签调用的方法

2019-11-06 09:31:58
字体:
来源:转载
供稿:网友

织梦系统默认是自带有网站地图模板的,但是生成之后的网站地图是在data文件内,而一般的data文件夹都是被屏蔽的,这样不利于网站的优化,文章的收录,那么怎么修改呢?

默认的情况下,网址地图是放在如下路径下的。

站点地图的模板:templets/plus/sitemap.htm

rss地图的模板:templets/plus/rssmap.htm

怎么修改织梦dedecms自带的网站地图路径通过ftp进入网站,将dede文件下makehtml_map.php中的$cfg_cmspath."/data/sitemap.html";和$cfg_cmspath."/data/rssmap.html";里的/data去掉。怎么修改织梦dedecms自带的网站地图路径

然后,再将根目录下include文件中的arc.rssview.class.php里$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";的/data去掉。同时,还将sitemap.class.php里的$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";和$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";的/data也去掉。

怎么修改织梦dedecms自带的网站地图路径怎么修改织梦dedecms自带的网站地图路径怎么修改织梦dedecms自带的网站地图路径4

然后,进入织梦后,点击生成,地图和RRS生成即可。

获取文章列表支持标签调用的方法

Dedecms网站地图很好用,但sitemap.htm所调用的标签很有限,下面有个不错的方法可以解决这个问题

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所有的标签了,包括文章列表标签。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表