很多时候,我们往往希望在网站上添加一个网站地图,一方面是方便客户了解网站的布局架构,一方面是方便搜索引擎蜘蛛的抓取,那么用Phpcms V9这个程序作为企业的企业管理后台,怎么制作网站地图Sitemap静态地图,CMSYOU在这里与大家分享两种自定义网站地图的方法。
今天CMSYOU在现在这里介绍第一种方法:新增php函数扩张添加Phpcms V9网站地图Sitemap静态地图;下一次有机会再讲解:自定义Page页面模板,采用调用的方式制作Phpcms V9网站地图Sitemap静态地图(估计将在一个月之后了)。
新增扩张函数达到添加Phpcms V9网站地图Sitemap静态地图的原理是:通过php函数调用网站的所有栏目,生成前端静态页面。
一、新增函数文件sitemap.php,并上传到网站程序目录: phpcms/modules/admin/文件夹下。
文件内容:
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
pc_base::load_sys_class('form', '', 0);
class sitemap extends admin {
function __construct() {
parent::__construct();
//栏目级别选项
$this->siteid = $this->get_siteid();
$this->categorys = getcache('category_content_'.$this->siteid,'commons');
}
/**
*
* Enter google sitemap, 百度新闻协议
*/
function init() {
$hits_db = pc_base::load_model('hits_model');
$CATEGORYS = $this->categorys;
//读站点缓存
$siteid = $this->siteid;
$sitecache = getcache('sitelist','commons');
//根据当前站点,取得文件存放路径
$systemconfig = pc_base::load_config('system');
$html_root = substr($systemconfig['html_root'], 1);
//判断当前站点目录,是PHPCMS则把文件写到根目录下, 不是则写到分站目录下.(分站目录用由静态文件路经html_root和分站目录dirname组成)
if($siteid==1){
$dir = PHPCMS_PATH;
}else {
$dir = PHPCMS_PATH.$html_root.DIRECTORY_SEPARATOR.$sitecache[$siteid]['dirname'].DIRECTORY_SEPARATOR;
}
//模型缓存
$modelcache = getcache('model','commons');
if(!defined('HTML')) define('HTML',1);
//获取当前站点域名,下面URL时会用到.
$this_domain = substr($sitecache[$siteid]['domain'], 0,strlen($sitecache[$siteid]['domain'])-1);
ob_start();
$file = $dir.'sitemap.html';
include template('content', 'sitemap');
$data = ob_get_contents();
ob_clean();
if(!is_dir($dir)) {
mkdir($dir, 0777,1);
}
file_put_contents($file, $data);
@chmod($file,0777);
showmessage('当前站点网站地址成功!');
}
}
?>
二、新增模板文件sitemap.html ,并上传到程序目录:phpcms/templates/cmsyou/content/文件夹下。
注意:具体模板文件的目录根据自己定义的来选择,默认文件夹是:phpcms/templates/default/content/。