zf アプリケーションで言語を切り替えるためのリンクを作成しようとしています。そのために url ヘルパーを使用していますが、変数のみで構成されたルートをヘルパーに渡すと機能しません。
URL ヘルパー:
$this->url(array('lang'=>'en'),'langcontroller',false);
ルート:
$router->addRoute(
'langcontroller',
new Zend_Controller_Router_Route('/:lang/:controller',array(
'lang' => ':lang',
'module' => 'default',
'controller' => ':controller',
'action' => 'index'
))
);
これにより、domain.com/en/current_controller という URL が生成されると予想されますが、代わりに domain.com/en を取得するだけです。
要求オブジェクトを取得し、現在のコントローラーを取得して、ヘルパー呼び出しでパラメーター配列に追加する必要がありますか? もしそうなら、私はヘルパーのポイントが本当にわかりません!
私が通過しているルートからのルートマップに従っていません。ヘルパーは、指定されたルートのマップからパターンで定義された URL を作成すると想定しましたが、パラメーター配列の cnotent でオーバーライドされない限り、リクエスト オブジェクトから変数が取り込まれますか?
これに関するご支援をいただければ幸いです。前もって感謝します。