源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

CodeIgniter生成网站sitemap地图的方法

  • 时间:2021-02-09 16:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:CodeIgniter生成网站sitemap地图的方法
[b]1.建立了一个名为sitemap的控制器 [/b]
[u]复制代码[/u] 代码如下:
<?php if (!defined('BASEPATH'))  exit ('No direct script access allowed'); class Sitemap extends CI_Controller{  public function __construct() {   parent::__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方法调用两个方法,分别获取文章列表和类别列表,以在模板中输出。 [b]2.创建一个名为sitemapxml的模型 [/b]
[u]复制代码[/u] 代码如下:
<?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();  } }
模型里面定义两个方法,获取文章列表和类别列表。 [b]3.创建一个名为sitemap.php的模板 [/b]
[u]复制代码[/u] 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>sitemap</title> </head> <body> <?php echo htmlspecialchars('<?xml version="1.0" encoding="utf-8"?>').'<br/>'; echo htmlspecialchars('<urlset>').'<br/>'; //首页单独写一个url echo htmlspecialchars('<url>').'<br/>'; echo htmlspecialchars(' <loc>').'http://aa.sinaapp.com'.htmlspecialchars('</loc>').'<br/>'; echo htmlspecialchars('<lastmod>').date('Y-m-d',time()).htmlspecialchars('</lastmod>').'<br/>'; echo htmlspecialchars('<changefreq>').'daily'.htmlspecialchars('</changefreq>').'<br/>'; echo htmlspecialchars('<priority>').'1'.htmlspecialchars('</priority>').'<br/>'; echo htmlspecialchars('</url>').'<br/>'; //类别页 foreach ($categorys as $category){  echo htmlspecialchars('<url>').'<br/>';  echo htmlspecialchars(' <loc>').'http://aa.sinaapp.com/index.php/home/cat/'.$category['c_sname'].htmlspecialchars('</loc>').'<br/>';  echo htmlspecialchars('<lastmod>').date('Y-m-d',time()).htmlspecialchars('</lastmod>').'<br/>';  echo htmlspecialchars('<changefreq>').'weekly'.htmlspecialchars('</changefreq>').'<br/>';  echo htmlspecialchars('<priority>').'0.8'.htmlspecialchars('</priority>').'<br/>';  echo htmlspecialchars('</url>').'<br/>'; } //文章页 foreach ($posts as $post){  echo htmlspecialchars('<url>').'<br/>';  echo htmlspecialchars(' <loc>').'http://aa.sinaapp.com/index.php/home/details/'.$post['post_name'].htmlspecialchars('</loc>').'<br/>';  echo htmlspecialchars('<lastmod>').date('Y-m-d',strtotime($post['post_date'])).htmlspecialchars('</lastmod>').'<br/>';  echo htmlspecialchars('<changefreq>').'weekly'.htmlspecialchars('</changefreq>').'<br/>';  echo htmlspecialchars('<priority>').'0.6'.htmlspecialchars('</priority>').'<br/>';  echo htmlspecialchars('</url>').'<br/>'; } //留言板 echo htmlspecialchars('<url>').'<br/>'; echo htmlspecialchars(' <loc>').'http://aa.sinaapp.com/index.php/guest'.htmlspecialchars('</loc>').'<br/>'; echo htmlspecialchars('<lastmod>').date('Y-m-d',time()).htmlspecialchars('</lastmod>').'<br/>'; echo htmlspecialchars('<changefreq>').'weekly'.htmlspecialchars('</changefreq>').'<br/>'; echo htmlspecialchars('<priority>').'0.5'.htmlspecialchars('</priority>').'<br/>'; echo htmlspecialchars('</url>').'<br/>'; echo htmlspecialchars('</urlset>'); ?> </body> </html>
最重要的就是这个模板了,按照sitemap.xml的标准格式,从数据库中读取相关数据,用循环的方式自动生成这样的格式,页面上展示的是html形式的xml的内容。 然后再用一个很笨的方法,将生成的html文本(实际上就是xml文件的显示内容),复制到一个新建的sitemap.xml文件,格式化一下,保存,就产生了一个标准的sitemap.xml文件。因为要用的SAE部署应用,目录不支持写操作,只能这样上传了,隔一段时间这样弄一下就ok了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部