0

私は、ユーザーが「リスト」ビューまたは「グリッド」ビューの 2 つの方法で本を表示できるようにしています。そのため、パラメーターをグリッドまたはリストとして受け取り、受け取ったパラメーターとしてビュー ページを表示することを考えました。しかし、codeigniter のコントローラーでこれを処理する方法がわかりません。

また、私のページにはすでにページネーションがあります。私のURLが表示http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9 されており、これでview = gridやview = listなどのパラメーターを渡したいので、コントローラーで受け取る必要があります。

私のURLは次のようになるかもしれません: http://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid それから、コントローラーでそれを受け取る方法。

この問題を解決するのを手伝ってください。

4

1 に答える 1

0

ここでページネーション番号を取得している方法のようにしてみませんか$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;

これを行うことができ$viewType = ($this->uri->segment(5)) ? $this->uri->segment(5) : 'list';、それをビューに渡したい場合$data['viewType '] = $viewType;

その後、ビューを呼び出す部分で、$this->load->view('commonfiles/booksview',$data);リスト用とグリッド ビュー用の 2 つの個別のビューを既に作成し、に応じて適切なビューを呼び出す$viewTypeか、1 つのビュー ファイルに両方のコードを含めて、そこからどちらを選択するかを選択できます。をif比較するステートメントで表示し$data['viewType']ます。最初のオプションをお勧めします。

また、CodeIgniter では、URI セグメントを関数のパラメーターとして、URI にある順序で渡すことができます。この例でfunction books($hasPagination, $paginationNumber, $viewType = 'list'){は、この URI からパラメーターを取得しhttp://localhost/thebestbookfinder.com/viewallbooks/books/pgn/9/grid、値は次のように割り当てられます。 $hasPagination = 'pgn'; $paginationNumber = 9; $viewType = 'grid';

また、通常どおり GET パラメータを渡してから、 thisなどviewallbooks/books?pagination=true&pgn=9&viewType=listの組み込み関数を使用してそれぞれを処理することもできます。$viewType = $this->input->get('viewType')$pgn = $this->input->get('pgn')

于 2013-02-01T09:02:37.700 に答える