Cakephp 如何访问元素中的用户信息

Cakephp 如何访问元素中的用户信息,cakephp,login,element,Cakephp,Login,Element,我使用cakephp,希望创建登录元素。 该布局工作如下: 1-当我登录时,该元素应显示以下代码: echo $this->Form->create('User', array('action' => 'login')); echo $this->Form->inputs(array( 'legend' => __('Login', true), 'username', 'password' )); echo $this->For

我使用cakephp,希望创建登录元素。
该布局工作如下: 1-当我登录时,该元素应显示以下代码:

echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->inputs(array(
    'legend' => __('Login', true),
    'username',
    'password'
));
echo $this->Form->end('Login');
2-当我登录时,元素应显示我的信息,如用户名或电子邮件。
如果我使用view,我可以使用
$this->Auth
但我不能使用这种方式,元素还有另一种方式,谢谢。

您可以从元素中的会话中获取loggedin用户的信息,如:


//check if user is logged in
if (!$this->Session->read('Auth.User.id')) {
  //show your login form here
}
else {
  //the user is loggedin
  //get the loggedin users's information from session
  $username = $this->Session->read('Auth.User.username');
  $email = $this->Session->read('Auth.User.email');
}

你的意思是这样的吗

我认为这不是正确的逻辑。您应该读取控制器中的登录状态,然后简单地将用户数据传递到视图中,然后根据是否存在该状态决定显示。