php – Codeigniter – SEO友好的URL结构(Slug实现)
发布时间:2020-12-13 21:58:05 所属栏目:PHP教程 来源:网络整理
导读:我想在codeigniter框架中开发一个网站,我可以通过slug访问任何网页. 例如,就像WordPress和Magento一样,我们可以通过www.sitename.com/category_type/category_detailpage访问类别页面,我们也可以通过在主URI www.sitename.com/category_detailpage之后添加sl
我想在codeigniter框架中开发一个网站,我可以通过slug访问任何网页.
例如,就像WordPress和Magento一样,我们可以通过www.sitename.com/category_type/category_detailpage访问类别页面,我们也可以通过在主URI www.sitename.com/category_detailpage之后添加slug来直接访问Category_detail. 所以我的问题是,如果你在Codeigniter中有这个Slug目录的任何案例研究项目代码,我如何设计数据库中的slug表模式,请尽快告诉我. 提前致谢! 解决方法
如何使用slug?
将举例说明: 1)假设您有产品页面和产品页面需要URL中的一些数据来了解要显示的产品. Columns Values id (int(11),PK) 1 title (varchar(1000)) Apple iPhone 5S 16GB slug (varchar(1000)) apple-iphone-5S-16GB-brand-new price (varchar(15)) 48000 thumbnail (varchar(255)) apple-iphone-5S-16GB-brand-new.jpg description (text) blah blah ... ... 我之前也回答了slu.检查它是否有帮助. 编辑: 为此,您必须在下面进行更改 – 1)创建2个表格以下 slug_table: id (PK) | slug | category_id (FK) category_table: id (PK) | title | thumbnail | description 2)config / routes.php $route['/(:any)'] = "category/index/$1"; 3)models / category_model.php(创建新文件) class Category_model extends CI_Model { public function __construct() { parent::__construct(); $this->db = $this->load->database('default',true); } public function get_slug($slug) { $query = $this->db->get_where('slug_table',array('slug' => $slug)); if($query->num_rows() > 0) return $query->row(); return false; } public function get_category($id) { $query = $this->db->get_where('category_table',array('id' => $id)); if($query->num_rows() > 0) return $query->row(); return false; } } 4)controllers / category.php(创建新文件) class Category extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('category_model'); } public function index($slug) { $sl = $this->category_model->get_slug($slug); if($sl) { $data['category'] = $this->category_model->get_category($sl->category_id); $this->load->view('category_detail',$data); } else { // 404 Page Not Found } } } 5)views / category_detail.php(创建新文件) <label>Category title: <?php echo $category->title; ?></label><br> </label>Category description: <?php echo $category->description; ?></label> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |