以DEDECMS5.6为例:sitemap.htm 在/templets/plus/目录里,就算添加了织梦相关标签调用,但却不能显示文章。
这是因为makehtml_map.php不能解析织梦的相关调用标签,我们可以稍作修改。让他实现调用任意标签。
修改makehtml_map.php如下:
把
require_once(DEDEINC."/dedetag.class.php");
改成
require_once(DEDEINC."/arc.partview.class.php");
把
$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);
把
$dtp->Clear();
注释掉
//$dtp->Clear();
更新:
26行 把
$murl = $cfg_cmspath."/data/sitemap.html"; $tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";
改成
$murl = $cfg_cmspath."/sitemap.html"; $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";
都改好之后就可以解析dedecms所有的标签了,包括文章列表标签。
要解释的是最后:
$cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";
改成
$cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";
注意原来的路径是固定在/plus/目录中的,也就是网站地图的风格,现在我们用的是调用标签,将网站地图的模板放到网站风格中这样更方便管理。
记得到最好一定要把地图模版放到模版模版文件里面