iPhone用の画面を作成しようとしたのだが、1.2では1.1のWebServicesが使えなくなったようなので、routerのprefixで頑張れとのことらしい。
http://phptips.seesaa.net/article/102607319.html
とりあえず
Router::connect('/i/:controller/:action', array('prefix' => 'iphone'));
としたが、$html->link() がすべて /i/ 経由に変換されてまった。
Router::connect('/:controller/:action');
で直った。
ただ、1.1のWebServicesは「1つのControllerで違うViewを使う」だったのだが、これだとControllerもiPhone用のものを作らないといけない。解決方法探したが見つからず。
とりあえずエイリアスっぽく
function iphone_index($options) {
return $this->index($options);
}
とするしかないのかなぁ。
追記 :
これだと action以下にパラメータがつくときは認識されないので、
Router::connect('/i/:controller/:action/*', array('prefix' => 'iphone'));
とやる必要がありました。
コメントする