CakePHP2.3で、言語の接頭辞なしで現在のURLを取得する方法を教えて下さい。
このURLのユーザ:
hogehuga.com/Controller/Action/param1/param2
が
hogehuga.com/rus/Controller/Action/param1/param2
のリンクを渡したいとき、これはビューファイルのコードで問題なく作動します。
lang
1<a href="/rus<?php echo $this->here;?>">Russian</a>
しかし、このURLのユーザが:
hogehuga.com/fre/Controller/Action/param1/param2
このURLにリンクできないときは
hogehuga.com/rus/Controller/Action/param1/param2
これを使うと、絶対URLを取得することが出来ます。
lang
1$fullURL = Router::url($this->here, true); 2$stripURL = str_replace("http://hogehuga.com/fre/Controller/Action/param1/param2", "Controller/Action/param1/param2", $fullURL); 3
しかし、各言語に対してこれを作らなくてはなりません。
または$fullURLから、最初の22文字を抜き取ることができますが、これはあまりいい解決策ではないと思います。
何かいい方法はありませんか?
ヘルパ/ビューのファイルでは、これを使っています。
lang
1function getURL() { 2 $paramController = $this->request->params['controller']; 3 $paramAction = $this->request->params['action']; 4 $retURL = "/".$paramController."/".$paramAction."/"; 5 foreach ($this->request->params['pass'] as $p) { 6 $retURL .= urlencode($p)."/"; 7 } 8}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。