如何在codeigniter中使用slug

时间:2014-04-11 15:48:00

标签: php codeigniter

我不知道如何制作这样的网址

  

TKD / index.php的/条/ 77 / Kejurnas-2013

我的网址错误

  

TKD / index.php的/条/ 77 / Kejurnas%202013

这是我的控制器

public function index($id = null, $slug = FALSE){

    // Fetch the article
    $this->db->where('pubdate <=', date('Y-m-d'));
    $this->data['article'] = $this->mberita->get_by_id($id,$slug);
    //echo '<pre>' . $this->db->last_query() . '</pre>';
   // dump($this->data['article']);


    // Return 404 if not found
    count($this->data['article']) || show_404(uri_string());

    // Redirect if slug was incorrect
    $requested_slug = $this->uri->segment(3);
    $set_slug = $this->data['article']->slug;
    if ($requested_slug != $set_slug) {
        redirect('article/' . $this->data['article']->id . '/' . $this->data['article']->slug, 'location', '301');
    }

    // Load view
    /*add_meta_title($this->data['article']->judul_berita);*/
    $this->data['contents'] = 'article';
    $this->load->view('template/wrapper/mahasiswa/wrapper_article', $this->data);

}

这是我的模态

public function get_by_id($id = 0, $slug = FALSE)
    { 
      if ($id === 0 && $slug === FALSE)
      {
        $query = $this->db->get('$this->tbl_berita');
        return $query->result_array();
      }

      return $this->db->get_where($this->tbl_berita, array('id' => $id, 'slug' => $slug),1)->row();

    } 

请帮助我如何制作正确的网址。谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用CodeIgniters辅助函数之一url_title()

  

将字符串作为输入并创建一个人性化的URL字符串。这个   例如,如果您有一个您想要使用的博客,则非常有用   URL中条目的标题。

site_url("articles/{ID}/").url_title({TITLE});