• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

CodeIgniter生成网站sitemap地图的方法

php 搞代码 4年前 (2022-01-01) 31次浏览 已收录 0个评论

用CodeIgniter只需要三步就可以生成网站sitemap地图,方法很简单,大家可以参考一下

1.建立了一个名为sitemap的控制器

代码如下:
<?php
if (!defined(‘BASEPATH’))
 exit (‘No direct script access allowed’);

class Sitemap extends CI_Controller{
 public function __construct() {
  parent:

来源gaodai.ma#com搞#代!码网

:__construct();
  $this->load->model(‘sitemapxml’); 
 }

 function index(){
  $data[‘posts’]=$this->sitemapxml->getArticle();
  $data[‘categorys’]=$this->sitemapxml->getCategory();
  $this->load->view(‘sitemap.php’,$data);
 }
}

首先加载sitemapxml模型类,index方法调用两个方法,分别获取文章列表和类别列表,以在模板中输出。

2.创建一个名为sitemapxml的模型

代码如下:
<?php
class Sitemapxml extends CI_Model{
 public function __construct() {
  parent :: __construct();
  $this->load->database();
 }

 public function getArticle(){
  $this->db->select(‘ID,post_date,post_name’);
  $this->db->order_by(‘post_date’, ‘desc’);
  $result=$this->db->get(‘posts’);
  return $result->result_array();
 }

 public function getCategory(){
  $this->db->select(‘c_sname’);
  $result=$this->db->get(‘category’);
  return $result->result_array();
 }
}

模型里面定义两个方法,获取文章列表和类别列表。

3.创建一个名为sitemap.php的模板

代码如下:

sitemap

<?php
echo htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’
‘;

//首页单独写一个url
echo htmlspecialchars(”).’
‘;
echo htmlspecialchars(‘ ‘).’http://aa.sinaapp.com&#8217;.htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).date(‘Y-m-d’,time()).htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’daily’.htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’1′.htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’
‘;

//类别页
foreach ($categorys as $category){
 echo htmlspecialchars(”).’
‘;
 echo htmlspecialchars(‘ ‘).’http://aa.sinaapp.com/index.php/home/cat/&#8217;.$category[‘c_sname’].htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).date(‘Y-m-d’,time()).htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).’weekly’.htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).’0.8′.htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).’
‘;
}

//文章页
foreach ($posts as $post){
 echo htmlspecialchars(”).’
‘;
 echo htmlspecialchars(‘ ‘).’http://aa.sinaapp.com/index.php/home/details/&#8217;.$post[‘post_name’].htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).date(‘Y-m-d’,strtotime($post[‘post_date’])).htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).’weekly’.htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).’0.6′.htmlspecialchars(”).’
‘;
 echo htmlspecialchars(”).’
‘;
}

//留言板
echo htmlspecialchars(”).’
‘;
echo htmlspecialchars(‘ ‘).’http://aa.sinaapp.com/index.php/guest&#8217;.htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).date(‘Y-m-d’,time()).htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’weekly’.htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’0.5′.htmlspecialchars(”).’
‘;
echo htmlspecialchars(”).’
‘;

echo htmlspecialchars(”);
?>

最重要的就是这个模板了,按照sitemap.xml的标准格式,从数据库中读取相关数据,用循环的方式自动生成这样的格式,页面上展示的是html形式的xml的内容。

然后再用一个很笨的方法,将生成的html文本(实际上就是xml文件的显示内容),复制到一个新建的sitemap.xml文件,格式化一下,保存,就产生了一个标准的sitemap.xml文件。因为要用的SAE部署应用,目录不支持写操作,只能这样上传了,隔一段时间这样弄一下就ok了。

以上就是CodeIgniter生成网站sitemap地图的方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CodeIgniter生成网站sitemap地图的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址