phpcms v9网站生成sitemap静态地图页面操作步骤
发布时间:2013-03-11 15:33:33 作者:佚名
我要评论
网站sitemap静态地图有利于蜘蛛的抓取,对于seo优化来说相当重要,不过某些站长已忽视了它的存在,接下来将介绍下静态地图sitemap的生成方法,感兴趣的你可以参考下哈,希望可以帮助到你
第一步:
后台添加一个菜单,如下填写:

第二步,将以下代码保存为 sitemap.php 文件放到 phpcmsmodulesadminsitemap.php :
<?php
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 文件,放到 phpcmstemplatesdefaultcontentsitemap.html :
{template 'content','header'}
<div id="main_full">
<div id="position"><a href="">首页</a>网站地图</div>
<div id="sitemap">
{loop $CATEGORYS $childid $c}
{php $arrcats = explode(',',$c[arrparentid]);}
{if in_array($catid,$arrcats)}<!-- 判断只有子栏目的 -->
{if $c['ismenu']==1}<!-- 判断栏目是否设置显示 -->
<a href="{$c[url]}">{$c[catname]}</a>
{/if}
{/if}
{/loop}
</p>
{/if}
<!-- 判断没有子栏目且设置显示的 -->
{if $cat['child']==0 and $cat['parentid']==0 and $cat['ismenu']==1}
<h3>{$child}<a href="{$cat[url]}">{$cat[catname]}</a>{$parentid}</h3>{/if}
{/loop} </div>
</div>
{template 'content','footer'}
后台添加一个菜单,如下填写:

第二步,将以下代码保存为 sitemap.php 文件放到 phpcmsmodulesadminsitemap.php :
复制代码
代码如下:<?php
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 文件,放到 phpcmstemplatesdefaultcontentsitemap.html :
复制代码
代码如下:{template 'content','header'}
<div id="main_full">
<div id="position"><a href="">首页</a>网站地图</div>
<div id="sitemap">
{loop $CATEGORYS $childid $c}
{php $arrcats = explode(',',$c[arrparentid]);}
{if in_array($catid,$arrcats)}<!-- 判断只有子栏目的 -->
{if $c['ismenu']==1}<!-- 判断栏目是否设置显示 -->
<a href="{$c[url]}">{$c[catname]}</a>
{/if}
{/if}
{/loop}
</p>
{/if}
<!-- 判断没有子栏目且设置显示的 -->
{if $cat['child']==0 and $cat['parentid']==0 and $cat['ismenu']==1}
<h3>{$child}<a href="{$cat[url]}">{$cat[catname]}</a>{$parentid}</h3>{/if}
{/loop} </div>
</div>
{template 'content','footer'}
相关文章
完美解决phpcms图片太大撑破表格图片自适应图片按比例缩小
下面小编就为大家带来一篇完美解决phpcms图片太大撑破表格图片自适应图片按比例缩小。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-18- 这篇文章主要介绍了PHPCMS v9 安全设置、防范教程,需要的朋友可以参考下2016-09-05
PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
这篇文章主要介绍了PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版],需要的朋友可以参考下2016-06-08- 这篇文章主要介绍了phpcms内容详情页只显示日期不显示时间的方法,即格式化时间输出的方法,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了PHPCMS制作网站地图的简单方法,本文给出了操作步骤及标签源码,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了PHPCMSV9父栏目调用子栏目的方法,本文讲解了在二级栏目列表页调用、在一级栏目列表页调用两种方法方式,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了PHPCMS使用date函数实现自动更新页脚年月的方法,本文主要还是可以学习到date函数的用法了,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了phpsso忘记密码的解决办法,本文用PHPCMS的密码及encrypt值替换数据表解决了这个问题,方法还是挺靠谱的,只是操作要求有点,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了phpcms 退出无法同步通知discuz问题的解决方法,需要的朋友可以参考下2014-12-15
phpcms v9列表页如何调用子栏目如首页>产品中心>产品类型a
phpcms v9列表页如何调用子栏目如:首页>产品中心>产品类型a>产品类型a11,在列表页产品类型a中,包括产品类型a1、产品类型a2、产品类型a32014-09-24


最新评论