2012-02-28 7 views
0

cakephpを使ったまだnoob。私はプレフィックスを持つアクションにアクセスしたいが、私の現在のビューにリダイレクトされている。これどうやってするの?例:私のリンクでcakephpのプレフィックスを使ったアクションへのアクセス

関数admin_getID(){ ここにいくつかのコード...}

:以下のような機能IHAVE

。私は、このHTMLヘルパーを使用してアクセス:現在、私は持っていけない

ます$ this-> HTML-> URL(配列( 'アクション' => 'のgetId'、 '管理者' =>真))

ノート任意のプレフィックスと私はプレフィックスを持つアクションにアクセスしたい。

URLはjqueryのにようjQuery.ajaxのURLに使用される、

jQuery.ajax({ ... URL: "HTML-> URL(配列(" アクション "=>" のgetId "、" admin "=> true))?>"、 ... });

ありがとうございました!

+1

この操作にどのようにアクセスしようとしていますか?いくつかのコードを表示します。 –

+0

hi paulo!私はいくつかの詳細を編集しました。親切にそれをチェックしてください。ありがとう。 – unknown

答えて

0

あなたはルーティングについて話していると思います。だから、たとえば、次のような管理者のためのアクションを定義する場合:

admin_index 
admin_edit 
admin_view 

ADNこれは、CakePHPの中のルーティングと呼ばれている

example.com/admin/index 
example.com/admin/edit 
example.com/admin/view 

によってそれらを手元に用意しておきます。あなたはこれがここで行われているかを確認することができます

<?php echo $this->Html->link('link', array('controller' => '{CONTROLLER_NAME}', 'action' => 'getID', 'admin' => 'true')); ?> 

UPDATE 2

あなたがエコーされていません。

http://book.cakephp.org/1.3/en/view/948/Defining-Routes

更新

をあなたはこれを行うことができますあなたのURL。あなたのURLを生成するためのケーキを使用することはできません、あなたはそれを手動で行う必要があります、あなたはjQueryのをレンダリングするためにPHPを使用していない場合は

jQuery.ajax({ ... url:"<?php echo $this->Html->url(array("action"=>"getID", "admin"=>true)); ?>", ... }); 

:あなたはこれを実行する必要が

jQuery.ajax({ ... url:"/admin/CONTROLLER/getID", ... }); 
+0

ハイチャック。返信してくれてありがとう。親切に詳細を確認して、私はいくつかの部分を編集しました。ありがとう – unknown

+0

実際にjquery.ajaxのURLを使用していますので、私のjQuery.ajaxにはURLがあります: "<?php echo $ this-> Html-> url(array(" action "=>" getID "、" admin " => true))?> " – unknown

+0

一度に1つずつではなく、ポストにすべての詳細を含めるともっと役に立ちます。あなたが探しているものについてより多くの情報を提供するまで、私たちができることは何もありません。 –

1

でいるので例えば、あなたが同じ接頭辞を使用しているファイルcore.phpのは、:

Configure::write('Routing.prefixes', array('admin')); 

あなたが使用する必要があります。

echo $this->Html->link('link', array('action' => 'getID', 'admin' => true)); 

これにより、リンク/admin/{your_controller}/getIDが生成されます。

同じコントローラの場合、別のコントローラに表示する場合は、アレイにcontrollerパラメータを含める必要があります。

上記のようにRouting.prefixesという指示文を使用しない場合は、アクション値にadmin_getIDパラメータを追加するだけです。

+0

これは私を現在の場所にリダイレクトします。とにかく私は$ this-> Auth-> allow()を使っていくつかの答えを見つけましたが、私のコントローラのプレフィックス付きアクションにアクセスできるようにこれを使うよりも優れたソリューションはありますか? – unknown

関連する問題