2

単純な変数をビューに渡すことができません。誰かが私が間違っていることを教えてもらえますか?

私にはコントローラーユーザーがいます:

class Controller_User extends Controller_Template_Login {  

     public function action_index()
    {
        $this->template = 'user/info';
        parent::before(); 
        $user = Auth::instance()->get_user();         
        $this->template->content = View::factory('user/info')
            ->bind('user', $user)
            ->bind('message', $message)
            ->bind('errors', $errors);        

        // if a user is not logged in, redirect to login page
        if (!$user)
        {
            Request::current()->redirect('user/login');
        }
    }

}

ビュー(ユーザー/情報)内で、ユーザーが定義されていないことがわかります。

私が欠けているものは何ですか?

編集:これは:を追加することで修正できることに注意してください:

$user = Auth::instance()->get_user(); 

Controller_Template_Loginへ

        $user = Auth::instance()->get_user();
        $this->template->user = $user;

私が知りたいのは、これが機能しない理由です:

    $user = Auth::instance()->get_user();         

    $this->template->content = View::factory('user/info')
    ->bind('user', $user)
    ->bind('message', $message)
    ->bind('errors', $errors); 
4

1 に答える 1

4

最初のケースだから

$this->template->user = $user;

のプロパティに$user変数を割り当てます。user$this->template

そして2番目のケースでは:

$this->template->content = View::factory('user/info')
    ->bind('user', $user)
    ->bind('message', $message)
    ->bind('errors', $errors); 

$uservariable を のuserプロパティにバインドします$this->template->content

于 2012-04-13T04:15:15.073 に答える