首先后台新建一个自定义页面,路劲为根目录:../../sitemap.xml
<?='<?xml version="1.0" encoding="UTF-8"?>'?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <!-- created with Free Online Sitemap Generator www.dakm.cn --> [e:loop={"select * from [!db.pre!]ecms_news where checked=1 order by newstime",0,24,0}] <url> <loc><?=$bqsr[titleurl]?></loc> <priority>0.60</priority> <lastmod><?=format_datetime($bqr[newstime],'Y-m-d H:i:s')?></lastmod> <changefreq>daily</changefreq> </url> [/e:loop] [e:loop={"select * from [!db.pre!]ecms_article where checked=1 order by newstime",0,24,0}] <url> <loc><?=$bqsr[titleurl]?></loc> <priority>0.60</priority> <lastmod><?=format_datetime($bqr[newstime],'Y-m-d H:i:s')?></lastmod> <changefreq>daily</changefreq> </url> [/e:loop] [e:loop={"select * from [!db.pre!]ecms_info where checked=1 order by newstime",0,24,0}] <url> <loc><?=$bqsr[titleurl]?></loc> <priority>0.60</priority> <lastmod><?=format_datetime($bqr[newstime],'Y-m-d H:i:s')?></lastmod> <changefreq>daily</changefreq> </url> [/e:loop] </urlset>
如果有多个表,只需要增加以下代码:
[e:loop={"select * from [!db.pre!]ecms_info where checked=1 order by newstime",0,24,0}] <url> <loc><?=$bqsr[titleurl]?></loc> <priority>0.60</priority> <lastmod><?=format_datetime($bqr[newstime],'Y-m-d H:i:s')?></lastmod> <changefreq>daily</changefreq> </url> [/e:loop]
需说明的是: 我把一级栏目都手动添加进去的,需自己修改,自己看着是我的网站上就可以改了,比如:http://hot.dakm.cn/ 需要更改[!db.pre!]ecms_info中的info为你对应数据表名; 再次就是刷新自定义页面,这样在根目录即可看到生成的sitemap.xml文件。就可以在GOOGO提交了
另外,本人研究了一下自动更新动能,但是好像帝国对这个功能好像不支持,需要开启e/admin/task.php页才可以自动更新!
我把自动更新脚本也放出来!
<?php if(!defined('InEmpireCMS')) { exit(); } $userpage_ids="84"; //设置要刷新的自定义页面ID列表,多个用半角逗号格开 $pagesql=$empire->query("select id,path,pagetext,title,pagetitle,pagekeywords,pagedescription from {$dbtbpre}enewspage where id in ($userpage_ids)"); while($userpager=$empire->fetch($pagesql)) { ReUserpage($userpager[id],$userpager[pagetext],$userpager[path],$userpager[title],$userpager[pagetitle],$userpager[pagekeywords],$userpager[pagedescription]); } ?>
这段代码为帝国教程里的,其中把84改为自己的自定义页面ID就可以了 使用方法:把这段代码新建一个文件,放在/e/tasks目录中。然后在后台,系统设置里,计划任务,增加计划任务,名字,时间,执行文件名(填你/e/tasks中自己起的) 这样就好了!
最大不足就是要开启e/admin/task.php这个页。才能自动运行,望解决不要打开这个也行就完美了。
等有时间继续研究!
本贴结合:http://bbs.phome.net/showthread-35-45614-0.html 优化而来 http://bbs.phome.net/showthread-13-85847-0.html
大家顶起来
|