酔っぱらいスクリプターの備忘録。よく消える(意味ねぇ
urlManager Yii Framework触るぜ日記(7)
URLを変えたかったんです。
前にやった方法だと何だか長ったらしいじゃないですか。
http://shimi-zoo.com/member/view/id/1
上記のようなURLになるのを
http://shimi-zoo.com/member/1
こんな感じでアクセスしたいんです。
方法は簡単でapplication/protected/config/main.phpに設定するだけです。
公式の解説ページはコッチ。
'urlManager'=>array( 'urlFormat'=>'path', 'showScriptName'=>false, 'rules'=>array( 'member/<id:\d+>'=>'member/view', 'member/<id:\d+>/<_a:\w+>'=>'member/<_a>', ), ),
これで$_GET['id']で取得出来るし見た目的にもいい感じかな、と。
6行目の指定で他のactionにも紐付けられる感じです。
URLの生成については
$this->createUrl('view',array('id=>1));
CHtml::link('リンクだよ', array('view','id'=>1) );
CHtml::link('リンクだよ', array('member/view','id'=>1) );
どれでやっても対応した形式のURLにしてくれます。
まぁ、それだけ。忘れる前にメモる!
追記:3/22
urlManagerつながりでココに追記しておく。
urlFormatをpathに設定するときはactionを省略してかつ、引数を持たせるとダメみたいですね。
たとえばbookコントローラーのdefaultアクションにid=5を渡す時。
/book/id/5
みたいなIDになってbookのactionIdを動かそうとするワケです。
普段は気をつければいいレベルだけどモジュールでそういうアクションを指定されてるとアウトですね。。。Yii-userとか。
関連する記事
| Print article | This entry was posted by shimizu on 2010年3月18日 at 8:05 PM, and is filed under Yii Framework. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
