0

私は自分のインデックス http:localhost/mysite/home をページ付けしたいのですが、この http:localhost/mysite/home だけを書いた場合、ページは「ページが見つかりません」と言っていましたが、 http:localhost/mysite/home/3 と書いた場合、その仕事! null パラメーターを取得するようにルーティングを構成するにはどうすればよいですか? (:any) と (num) で試しましたが、動作しません

私のルートファイルは次のとおりです。

       $route['404_override'] = 'welcome/no_found';
       $route['home/'] = "welcome/home/$1";

私のコントローラー:

      $config['base_url'] =  base_url().'/mysite/home';
      $config['total_rows'] = $this->mtestmodel->countNews();
      $config['per_page'] = 2; 
      $config['num_links']   = 20;
      $this->pagination->initialize($config); 
      $data['paginator']=$this->pagination->create_links();
      $data['news']=$this->mtestmodel->show_news( $config['per_page'],intval($to) );

//$to は URL base_url()/mysite/home/3 のパラメーターです

4

1 に答える 1

3

route.phpファイルを次のように変更します。

$route['404_override'] = 'welcome/no_found';
$route['home/(:num)']  = "welcome/home/$1";
$route['home']         = "welcome/home";

http://localhost/mysite/homeこのようにして、アプリケーションは両方のリクエスト (と)をキャッチhttp://localhost/mysite/home/3し、両方をコントローラーに送信します。

$toその後、変数 (最初の引数としてコントローラーの関数に渡されたもの)にアクセスするか、$this->uri->segment(2)代わりに使用できるようになります。

例えば

public function home($to = 0) {
    $config['base_url']    =  base_url().'/mysite/home';
    $config['total_rows']  = $this->mtestmodel->countNews();
    $config['per_page']    = 2; 
    $config['num_links']   = 20;
    $this->pagination->initialize($config); 
    $data['paginator']     = $this->pagination->create_links();
    $data['news']          = $this->mtestmodel->show_news( $config['per_page'],intval($to) );

}

それが役立つことを願っています!

于 2013-02-19T11:59:14.313 に答える