CodeIgniter生成网站sitemap地图的方法
发布时间:2020-12-12 19:58:18 所属栏目:PHP教程 来源:网络整理
导读:1.建立了一个名为sitemap的控制器 代码如下: if (!defined('BASEPATH')) exit ('No direct script access allowed');class Sitemap extends CI_Controller{ public function __construct() { parent::__construct(); $this->load->model('sitemapxml'); }fun
1.建立了一个名为sitemap的控制器 代码如下: 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方法调用两个方法,分别获取文章列表和类别列表,以在模板中输出。 2.创建一个名为sitemapxml的模型 代码如下: 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的模板 代码如下: echo htmlspecialchars('').' '; echo htmlspecialchars(' ';//首页单独写一个url echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' ';//类别页 foreach ($categorys as $category){ echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; }//文章页 foreach ($posts as $post){ echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; }//留言板 echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' '; echo htmlspecialchars(' ';echo htmlspecialchars(' ?> 最重要的就是这个模板了,按照sitemap.xml的标准格式,从数据库中读取相关数据,用循环的方式自动生成这样的格式,页面上展示的是html形式的xml的内容。 然后再用一个很笨的方法,将生成的html文本(实际上就是xml文件的显示内容),复制到一个新建的sitemap.xml文件,格式化一下,保存,就产生了一个标准的sitemap.xml文件。因为要用的SAE部署应用,目录不支持写操作,只能这样上传了,隔一段时间这样弄一下就ok了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |