メイン CakePHP コントローラ(Controller)
Prefix利用時のPaginatorHelperが吐くURLが正しく表示されない | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| _gtd | 投稿日時: 2009-8-26 17:22 |
Baker スタート ![]() ![]() 登録日: 2009-2-1 居住地: 投稿: 8 |
Prefix利用時のPaginatorHelperが吐くURLが正しく表示されない お世話になります。cakeのversionは1.2.3.8166です。
routes.phpでこんな感じでprefixを設定しています。 /mから始まるURIはprefixを設定してViewのlayoutを携帯用にしている、という設定です。 で、この状態でprefixで設定されているactionでpagintate()すると、 /m/hoge/category/1/page:1 というURLを吐いてほしいのに、 /hoge/mobile_category/1/page:1 というURLを吐いてしまい、prefixで指定された接頭辞がAction名に指定されているため、private扱いになってしまいエラーと判断されてしまいます どうもこれが近しい現象のようなのですが、この設定に変更しても当方が望む「/m/hoge/category/1/page:1」を吐いてくれませんでした。 http://blog.absun.info/?eid=994036 同様の問題を解決された方、または何かしらアドバイスございましたら、よろしくお願いします。 |
| shun | 投稿日時: 2009-8-27 9:15 |
Cake 職人 ![]() ![]() 登録日: 2006-7-14 居住地: 東京、日本 投稿: 1007 |
Re: Prefix利用時のPaginatorHelperが吐くURLが正しく表示されない 下記の記事、似ているようですがいかがでしょうか。
Abstract Sunriseな日々 [CakePHP1.2]携帯ルーティング設定している時のpaginator http://blog.absun.info/?eid=994036 「自分の場合は、携帯用ビューでpaginatorを使用した際のリンクがうまく変換されなかった("/m/blogs/"とならず、"/blogs/mobile_index/"となってしまっていた)ので症状は上記参考サイトと違うのですが、同じように処理を入れることで無事に解決できました。」 |
| _gtd | 投稿日時: 2009-8-27 11:31 |
Baker スタート ![]() ![]() 登録日: 2009-2-1 居住地: 投稿: 8 |
Re: Prefix利用時のPaginatorHelperが吐くURLが正しく表示されない shunさん、返信ありがとうございます。
教えて頂いたroute.phpに従い、自分のroute.phpをcontroller名以外は全て同じにしてみたのですが、この症状を解決できませんでした・・・。 マジメにpagintor.php⇒route.phpを追いかけていたのですが、かなり階層が深く段々めんどくさくなって、非常に強引なやり方ですが「"/m/blogs/"とならず、"/blogs/mobile_index/"」となっているのなら、文字列として置換して戻すという力技でなんとか動かしています。 スマートには程遠いですが、とりあえず望むことは出来ましたので、一旦置いておきたいと思います |
| cakephper | 投稿日時: 2009-8-27 18:21 |
一人前 ![]() ![]() 登録日: 2008-9-5 居住地: 神奈川 投稿: 74 |
Re: Prefix利用時のPaginatorHelperが吐くURLが正しく表示されない ちょっと興味があったので、手元で実験したら、自分の環境も同様の問題が発生しました。
ソースを追ってみたり、海外のサイトを調べたりしましたが、基本はAdminルーティングしかまともに動かないっぽい。。。 Adminルーティングをサイト全体で使わなくて良い前提があれば、core.phpに下記のようにすればいけます それ以外の方法としては、 とりあえず、paginationで検索条件などのパラメータの引継ぎをしなくてもよければw、下記の方法で出来ました routes.php views/hoge/mobile_index.ctpの最初の方に下記の1文を追加 下記のサイトを参考に、 http://forums.wf.klevo.sk/comments.php?DiscussionID=122 パラメータも引き継ぐ方法をやってみましたが、これをやると駄目でした。 views/hoge/mobile_index.ctp |
| cakephper | 投稿日時: 2009-8-27 18:48 |
一人前 ![]() ![]() 登録日: 2008-9-5 居住地: 神奈川 投稿: 74 |
Re: Prefix利用時のPaginatorHelperが吐くURLが正しく表示されない ちなみに、prefixを使ったpaginatorのテストケースがコアライブラリの中にあるので、参考になります。
cake/tests/cases/libs/view/helpers/paginator.test.php 上記テストケースファイルの function testUrlGenerationWithPrefixes() という箇所のテストケースです。 ただし、パラメータの引継ぎのケースがないので、テストケース漏れのような気がしています。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |




