2011-07-28 12 views
0

コントローラのサブフォルダを作成して、管理とトラブルシューティングを容易にする必要があります。私は、コントローラ/コントローラ/管理者、コントローラ/ユーザ/種類のセットアップが必要です。私はコントローラ/ admin/createuserのコントローラをhttp://mydomain/admin/createuserから作成しようとしましたが、それは動作していないようです。Kohana 3.1コントローラフォルダ内のサブフォルダ内のコントローラ

これについてのヒントをお持ちの方は、

カスタムルーティングが必要ですか?

答えて

1

catch/admin /にルートを設定し、adminという「コントローラファイル」ではなく「admin」というディレクトリを探す必要があります。 「createuserは」のユーザーコントローラ


注アクション「ディレクトリ」宣言になるように、そして、あなたの「createuserは」paramは理想的には、「ユーザーのコントローラにあるであろう - アプリケーション/ bootstrap.phpのクラス名で

Route::set('admin', 'admin(/<controller>(/<action>(/<id>)))') 
    ->defaults(array(
    'directory' => 'admin', 
    'controller' => 'user', 
    'action' => 'index', 
)); 

次に、あなたのコントローラでは、各ディレクトリのためにアンダースコアを使用する必要がある「/」 - アプリカチオン/クラス/コントローラ/ admin/user.php

class Controller_Admin_User extends Controller { 

    public function action_createuser() 
    { 
    ..your code 
    } 
+0

ありがとうございます。どのように私はSEFのURLのいくつかの並べ替えを持つことができますか? – Churchill

+0

あなたはRoutesで必要なURLを使うことができます。を取り出して、指定したパスで使用するコントローラを指定してください:Route :: set( 'loggingIn'、 'admin/login') - > defaults( 'controller' => 'user'、 'action' => 'login')これらはカスケードしていますので、ページの上位にあるようなものを入れ、パスが一致すれば最初にキャッチされます。 – mdskinner

+0

これは動作します。保証されていれば、 'id'パラメータが必要です。あなたのルートコード解決策を作ることができますか? 'id'はオプションですか?私は(/ )を取り出したり、Route :: set()の3番目のパラメータとして配列( 'id' => '。*')を追加しても動作しません。 – jagc

関連する問題