我正在Blogging网站上工作。创建帖子后,我可以在帖子页面中查看它。但是,我通过使用word_limitter
将其限制为60个字,然后有一个链接 Read More (下面的代码),该链接应带我到一个显示该页面所有内容的新页面。帖子。
<?php echo site_url('/posts/'.$post['slug']); ?>
现在,我面临的挑战是动态路由,因为我想要这样一种方式:每当我在任何帖子上单击阅读更多时,它都会打开该特定帖子。 我的控制器功能
public function view($slug = NULL){
$data['post'] = $this->posts_model->get_posts($slug);
$post_id = $data['post']['id'];
$data['comments'] = $this->comments_model->get_comments($post_id);
if(empty($data['post'])){
show_404();
}
$data['title'] = $data['post']['title'];
$this->load->view('template/header');
$this->load->view('posts/readmore', $data);
$this->load->view('template/footer');
}
我的模特在这里
public function get_posts($slug=FALSE, $limit= FALSE, $offset =FALSE){
if($limit){
$this->db->limit($limit, $offset);
}
if($slug === FALSE){
$this->db->order_by('posts.id', 'DESC');
$this->db->join('categories', 'categories.id = posts.category_id');
$query= $this->db->get('posts');
return $query->result_array();
}
$query = $this->db->get_where('posts', array('slug' =>$slug));
return $query->row_array();
}
这是我的路线的样子
$route['posts/(:any)'] = 'posts/readmore/$1';
当我单击“阅读更多”时,它会给我404。当我删除上面的路线并单击“更多”时,它会显示空白页面。