
CakePHPのPaginatorを使ったページリンクが正しく出力されません。
1ページ目は正しく出力できていますが、2ページ目などに移動した際にURLがおかしくなります。
現状
1ページ目
http://www.example.com/hoge/2
↓
2ページ目
http://www.example.com/hoge/2/page:3
理想
1ページ目
http://www.example.com/hoge/2
↓
2ページ目
http://www.example.com/hoge/3
また、パラメータがついた場合も
1ページ目
http://www.example.com/hoge/2?hoge=hoge
↓
2ページ目
http://www.example.com/hoge/3?hoge=hoge
となるようにしたいのですが、何を間違えているのでしょうか。
ちなみにソースは以下のようになってます。
View/Hoge.php
echo $this->Paginator->prev('< 前へ', array(), null, array('class' => 'prev disabled'));
echo $this->Paginator->numbers(array('separator' => ''));
echo $this->Paginator->next('次へ >', array(), null, array('class' => 'next disabled'));
Config/routes.php
Router::connect(
'/hoge/:page',
array(
'action' => 'hoge',
),
array(
'pass' => array(
'page',
)
)
);
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
いやいや、おかしくないですw
> 2ページ目
> http://www.example.com/hoge/2/page:3
page:3はCakePHPで言うnamedパラメータと呼ばれるものです。
コントローラで$this->request->params['named'] をダンプすると表示されます。
このnamedパラメータはCakePHPでは良く出てきます。
> 理想
確かにRouterを駆使したら出来るかもしれないけど、ページネーションはページ数だけ維持するとは限りません。
Bakeしたソースだと一覧(index)で表のタイトルをクリックしたらそのカラムで並べ替え(昇順/降順)が可能で、その並べ替えの状態を維持してページングを維持してますが、ソート対象のカラムや並び順もnamedパラメータに乗せてページ遷移してるから状態維持できるんですよ。
次のページに行ったらID順に戻ってたらページングにならんでしょ?
Routerに小細工するとそういうケースが出てきて行き詰まる要因になります。
やるとしてももうちょっと熟練されてからが良いかと。
> また、パラメータがついた場合も
?パラメータのことをQueryStringと言いますが、これはコントローラ側で設定します。
やり方は参考URLを参照してみて下さい。
> パラメータをクエリストリングで指定できるような設定もあるようだ。下記のようにparamTypeにquerystringを設定すると、「?page=2」のような指定で遷移した。
の箇所
参考URL:http://j-caw.co.jp/blog/?p=264
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 全部のアクセスを指定したページに転送させたい 2 2022/06/28 16:33
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- C言語・C++・C# プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int h 1 2022/07/09 15:27
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
- C言語・C++・C# プログラミングのペーパーテスト 実行結果がどのように表示されるか答えよ #include <stdi 1 2022/07/09 14:27
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- その他(プログラミング・Web制作) pythonのcondaコマンドの仕様について 2 2022/06/24 00:13
- PostgreSQL 【PostgreSQL】行の値の並びを変えるには 1 2023/03/21 16:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CakePHPでの自作関数保存場所
-
配列の操作時にLNK2001外部シン...
-
VB6のコンボボックスのテキスト...
-
VBA コレクションに2次元配列...
-
PHPの名前空間インポートについて
-
protectedなのにアクセスできな...
-
vb作成したらでbeep音が鳴りま...
-
PHPの変数値をリンクさせたい
-
Let's Encryptで自動更新がされ...
-
VB.NETからVBAマクロ(引数)を呼...
-
次のhtml・cssでspan内の文字を...
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
excel access連携 このテーブル...
-
Yahoo! JAPAN IDを新規取得でき...
-
Excel VBA:特定の文字列以降(...
-
バッチファイルでpingの結果を...
-
EXCEL、マクロ-改ページ行番号...
-
コンビニで住民票を取得した場...
-
【VBA】EXCELブックを開かずに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
PHP、ヒアドキュメント内でのIF...
-
エラーの理由が分りません。Pri...
-
どういうプログラムを関数化を...
-
可変変数にアロー演算子を使いたい
-
protectedなのにアクセスできな...
-
PHPの名前空間インポートについて
-
ASPのResponse.WriteをPHPでは...
-
[C++]std:mapの扱いを教えて頂...
-
vb作成したらでbeep音が鳴りま...
-
PHPの変数値をリンクさせたい
-
次のhtml・cssでspan内の文字を...
-
既存関数の上書き
-
classの再定義エラーについて
-
[C#]Arraylistに追加した構造体...
-
.htaccessについて
-
共用体のサイズをsizeofで
-
PHPで呼び出し元の関数名の取得...
-
PHPでの画像の形式の変換
おすすめ情報