0

config/routesファイルに次のようなルートがあります。

$route['thing/(:num)'] = 'site/pages/$1';

そして、にある私のページネーション設定にsite/pagesは、次の関連オプションがあります。

$config["base_url"] = base_url() . "thing";
$config["uri_segment"] = 3;

上記は、thing / 20、thing / 40のようにリンクを正しく生成します(ページごとに20の構成オプションを指定したため)。最初のページは20のリンクで正しく表示されます。

しかし、2番目のページのリンクをクリックすると404が返されます。ブラウザでURLを/ site / pages/20またはsite/pages / 40に編集すると、機能します。

私はここで何が間違っているのですか?

4

4 に答える 4

2

実際には、ルーティングされたURIセグメント(実際にはURLにあるセグメント)を読み取りたいと考えています。ルーティング構成により、2番目のセグメントになります。

$config["uri_segment"] = 2;

ドキュメントから:

ページネーション機能は、URIのどのセグメントにページ番号が含まれているかを自動的に判別します。別のものが必要な場合は、それを指定できます。

ページネーションクラスは、「param」がメソッドの最初の/唯一の引数である場所3を推測することにより、(デフォルトで)想定します。controller/method/param

ただし、ルーティングの2番目のセグメントにはページ番号があるため、に設定するだけ2です。

于 2012-12-07T22:25:02.863 に答える
0

使用してみてください

$config["base_url"] = base_url("thing/");

$config["uri_segment"] = 2;

uriセグメントはuriを参照していることを忘れないでください

于 2012-12-07T22:24:19.487 に答える
0

codeigniterユーザーガイド(http://ellislab.com/codeigniter/user-guide/libraries/pagination.html )に記載されている優れた例を確認してください。

于 2012-12-07T21:56:42.167 に答える
0

ページネーションを行う方法のリファレンスを探していると同時に、各ページのリンクへの適切なルーティングを探している場合は、質問の1つについて私が提供したこのページネーションリファレンスの回答を調べてください。それがあなたの疑問をすべて解決することを願っています。

于 2012-12-08T03:15:06.783 に答える