2012-08-11 10 views
7

TLDR:コントローラで、HtmlHelperを使用してビューでURLを作成する方法と同様のURLを作成するにはどうすればよいですか?HtmlHelperのようなコントローラにURLを作成する方法


問題:

私は(私がいないビューで、私のコントローラで私のJSON文字列を作成するため)

で私のコントローラでは、コントローラのアクションのURLを印刷したいですView、私は$this->Html->url()を使うことができますが、コントローラーはどうですか?

私はAPP_DIR +コントローラ名+コントローラのアクションのように定義された定数を使用する必要がありますか?)

答えて

30

ルータクラスを使用します。

$url = Router::url([ 
    'controller' => 'Articles', 
    'action' => 'index', 
    '?' => ['page' => 1], 
    '#' => 'top' 
]); 

または同じことが、より一般的な/単純なシナリオで:

$url = Router::url(['controller' => 'Articles', 'action' => 'index']); 

注:Cake2.xに、 "記事"、小文字になります。


CakePHP 2.x Router documentation

CakePHP 3.x 'Generating URLs' documentation

+1

これは素晴らしい作品、受理されなければなりません。 (CakePHP 2.4.5を使って) – CREE7EN

+1

ルーティングクラスを使うことを覚えておいてください: 'Cake \ Routing \ Routerを使う;' –

関連する問題