Kohana - передача переменных в представление
Я не могу передать простую переменную в представление, кто-то может сказать мне, что я делаю неправильно?
У меня есть пользователь контроллера:
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);
1 ответ
Решение
Потому что в первом случае
$this->template->user = $user;
Вы назначаете $user
переменная к user
собственностью $this->template
,
И во втором случае:
$this->template->content = View::factory('user/info')
->bind('user', $user)
->bind('message', $message)
->bind('errors', $errors);
ты связываешь $user
переменная к user
собственностью $this->template->content
,