2017-01-28 9 views
1

私はスラグによって、単一のブログのニュースを表示したいが、私はCodeIgniterの - ルート複数のパラメータ

ブログコントローラ分からない:

 public function show_news($slug) 
 
     { 
 
      $page_data['page_title'] = 'News'; 
 
      $page_data['news_item'] = $this->blog_model->get_news($slug); 
 

 
      $this->template->load('frontend/blog_news',$page_data); 
 

 
     }

ブログモデル:

\t function get_news($slug) 
 
    { 
 
     $slugs = urldecode($slug); 
 
     $query = $this->db->get_where('blogposts', array('slug' => $slugs)); 
 
if($query->num_rows() > 0){ 
 
\t if($this->db->get_Where('blogposts', array('slug'=>$slugs))->row()->status == '1'){ 
 
\t \t return $query->row_array(); 
 
\t \t } 
 
\t \t } 
 
    }

私のルート:

$route['blog/(:any)/news/(:any)'] = "blog/show_news/$1/$2";

+0

不完全でのご質問は、私の間違っているものを、示していないビューのデータにより –

+0

@MahdiMajidzadehを説明しますか? –

答えて

1

あなたがそう明らかルート"blog/show_news/$1/$2";はこのようなincorrect.Manageあなたのルートになりますshow_news機能を一つのパラメータのみ($slug)を持っている。..

$route['blog/news/(:any)'] = "blog/show_news/$1"; 

すべてリダイレクトされますblog/show_news/slugblog/news/slug

0

コントローラには1つのパラメータしかありません。これはあなたのルート設定では問題ありません。既に述べたように、 $route['blog/news/(:any)'] = "blog/show_news/$1";である必要があります。

しかし、あなたの質問のタイトルは

CodeIgniterのです - ルート複数のパラメータ

あなたがあなたの現在のルートと、より、別のパラメータを渡したいということを意味する場合は、このようなコントローラのメソッドに2番目のパラメータを追加することで$ 2変数にアクセスできます。

public function show_news($slug, $secondParameter){ 
関連する問題