CodeIgniter生成网站sitemap地图的方法
Jun 13, 2016 am 09:30 AM
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了。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment implémenter un middleware personnalisé dans CodeIgniter

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages

Développement PHP : utilisation de CodeIgniter pour implémenter le modèle MVC et l'API RESTful

Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter

Comment utiliser le framework CodeIgniter5 en php ?

Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers

Comment utiliser le framework PHP CodeIgniter pour créer rapidement un système de gestion backend

Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques
