帝国cms自身并没有sitemap功能,我们可以借助外部插件来实现,例如这个:
但它有个缺陷,地图为.php后缀,这个在用途上可能有些限制,我们可以通过伪静态来实现伪装地址后缀,或者也可以通过自定义页面的方式来实现真正的静态sitemap.xml地图。
栏目 - 自定义页面 - 增加自定义页面
文件名为:../../sitemap.xml
其他名称随意填写
页面内容中填写以下代码
折叠PHP 代码
- <?=’<?xml version=”1.0″ encoding=”UTF-8″?>’?>
- <urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
- <url>
- <loc>[!--news.url--]</loc>
- <priority>1.000</priority>
- </url>
- [e:loop={"select * from [!db.pre!]enewsclass order by myorder”,0,24,0}]
- <?
- if($bqr['classurl']==”)
- {
- $sccurl=$public_r['newsurl'].$bqr['classpath'].”/”;
- }
- else
- {
- $sccurl=$bqr['classurl'].”/”;
- }
- ?>
- <url>
- <loc><?=$sccurl?></loc>
- <priority>0.6000</priority>
- </url>
- [/e:loop]
- [e:loop={"select * from [!db.pre!]enewszt order by ztid”,0,24,0}]
- <?
- if($bqr['zturl']==”)
- {
- $sccurl=$public_r['newsurl'].$bqr['ztpath'].”/”;
- }
- else
- {
- $sccurl=$bqr['zturl'].”/”;
- }
- ?>
- <url>
- <loc><?=$sccurl?></loc>
- <priority>0.6000</priority>
- </url>
- [/e:loop]
- [e:loop={"select * from [!db.pre!]ecms_news order by newstime”,0,24,0}]
- <url>
- <loc><?=$bqsr[titleurl]?></loc>
- <priority>0.5000</priority>
- </url>
- [/e:loop]
- </urlset>
这样地图就会生成在帝国cms网站根目录了,在模板内调用这个地址即可。