Я работаю над сетью блогов.После создания сообщения я могу просмотреть его на странице сообщений.Тем не менее, я ограничил его только 60 словами, используя word_limitter
, а затем есть ссылка Подробнее с кодом ниже, который должен привести меня на новую страницу, показывающую все содержание сообщения.
<?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. Когда я удаляю маршрут выше и нажимаю больше, он показывает пустую страницу.