2011年2月17日木曜日

cakephpでsmarty URLの引数を渡す、受け取る [未解決→中途半端に解決]

cakephp1.2.9

cakephpでURLの含まれる引数を渡す、受け取る方法。
cakephpでは、

http://hogehoge.com/hanage.php

というようなURLは

http://hogehoge.com/hanage

としてアクセスするらしい。
じゃあ、引数を持ったURLの場合どうするのか。

http://hogehoge.com/hanage.php?nagasa=100

とか

http://hogehoge.com/hanage.php?nagasa=100&color=bk

とかはどうすんだ?

インターネッツの情報では、


http://hogehoge.com/hanage/100

こんな風にしてアクセスして、Controller内で受け取れ、とか

http://hogehoge.com/hanage/nagasa:100/color:bk

とすればOKとか書いてあるんだけど、俺の環境では値を受け取る前にエラーページが表示されてしまう。
ついでに「:」でつなぐ方法は、URLには「:」を含めてはイカンというルールがあるらしく、携帯からのアクセスで問題を起こすらしい。
そこまでたどり着いていない俺には遠い話ですけども。

追記:
あまり綺麗ではないけども、一応解決。中途半端に。

  http://hogehoge.com/hanage/?nagasa=100

  function index(){
      $this->set('nagasa', $this->params['url']['nagasa']);
      $nagasa = $this->params['url']['nagasa'];
  }

こんな感じでアクセスできる。
ちなみにindex.phpじゃない場合はURLが若干違う。
たとえばmigiana.phpだった場合はこんな感じ。


http://hogehoge.com/hanage/migiana/?nagasa=100

もうちょっと綺麗にできるようになりたいと思う今日この頃。

0 件のコメント:

コメントを投稿