Как динамически маршрутизировать ссылки в Codeigniter? - PullRequest
0 голосов
/ 04 марта 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...