0

私はkohanaを初めて使用し、http://blog.mixu.netのuseradminモジュールを使用する簡単なアプリケーションを開発しています。私は、私が思うに、理解の問題を抱えています。現在、非管理者ユーザーがログインすると、action_indexはユーザー/プロファイルにリダイレクトされます。代わりにhomeというコントローラーに移動したいと思います。home/index.phpにリダイレクトしたい

リダイレクトを変更しようとしましたが、機能しません。ホーム/インデックスに到達するためにルートで何かをする必要があるのではないかと疑っていますが、何をすべきかがわかりません。

ここで誰かが私を正しい方向に導いてくれたら本当にありがたいです。

4

1 に答える 1

0

あなたが言った...

home/index.php にリダイレクトしたい

コハナではありません。Kohana はフロント コントローラー パターンを使用します。つまり、アプリケーション全体が、フレームワークに同梱されている単一の index.php ファイルを介して実行されます。あなたが望んでいることはできません。Kohana を使用して home/index.php に移動する必要はありません。代わりにできることは、3 つのステップで達成されます。

  1. application/controllers/home.php に保存された home という名前の新しいコントローラーを作成します。
  2. ルートを作成し、application/bootstrap.php のデフォルト ルートの上に配置します。
  3. 他のコントローラーからこのルートにリダイレクトします。

ホームコントローラーは次のようになります。

class Controller_Home extends Controller 
{
    public function action_index()
    {
       echo 'Home Controller Index method';
    }
}

上記のコントローラーをテストするには、次のようなルートを使用できます。これを application/bootstrap.php のデフォルト ルートの上 (ファイルの下部近く) に配置します。

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

次に、your_app_url/home または your_app_url/home/index ... を参照して、ホーム コントローラーの action_index メソッドにアクセスできます。

しかし、私たちは先を行っています。これを試す前に、Kohana 3.2 でコントローラーがどのように機能するか、Kohana 3.2でルートがどのように機能するか、および一般的なユーザー ガイド ページを読むことを強くお勧めします(カスケード ファイルシステムをお見逃しなく!)。

次に、Kohana 3.2 ソース ファイルをダウンロードし、ダミーの空のプロジェクトを作成し、新しいルートを 1 つ持つ新しいコントローラーを 1 つ作成します。あの男は揺るがすが、彼はかなり進んでいる.

于 2012-11-01T04:23:29.433 に答える