CAKEPHP-通过特定控制器禁用/启用按钮

CAKEPHP-通过特定控制器禁用/启用按钮,cakephp,Cakephp,在CAKEPHP中,可以通过我的控制器(UsersController)放置一个按钮(可以看到“默认”)禁用吗 并显示带有一些信息的标签?(来自用户控制器的所有内容) 提前谢谢 [更新] 我的目标是,当我在我的应用程序中进行身份验证时,我想放置一个“注销”按钮(在默认视图中找到)。 另一方面,我想显示一个带有典型消息(“欢迎用户名”)的标签。此消息也将位于注销按钮(和默认视图)旁边 我的默认.TCP视图 <form class="navbar-form pull-right">

在CAKEPHP中,可以通过我的控制器(UsersController)放置一个按钮(可以看到“默认”)禁用吗

并显示带有一些信息的标签?(来自用户控制器的所有内容)

提前谢谢

[更新]

我的目标是,当我在我的应用程序中进行身份验证时,我想放置一个“注销”按钮(在默认视图中找到)。 另一方面,我想显示一个带有典型消息(“欢迎用户名”)的标签。此消息也将位于注销按钮(和默认视图)旁边

我的默认.TCP视图

  <form class="navbar-form pull-right">
     <?php echo $this->HTML->link('<i class="icon-user"></i>LOGIN',  array('controller'=>'users','action'=>'login'),array('class' => "btn btn-primary",'escape'=>false));
       echo $this->HTML->link("<i class='icon-pause icon-white'></i>",array(),array('escape'=>false));
     echo $this->Form->label('message');
       echo $this->HTML->link('<i class="icon-off"></i>LOGOUT', array('controller'=>'users','action'=>'logout1'), array('class' => "btn btn-primary",'escape'=>false)); ?>  
    </form>

我这样做的方式如下。我打开AppController,并在
beforeRender()
方法中添加以下代码:

public function beforeRender(){
    $this->set('authUser', $this->Auth->user());
    parent::beforeRender(); //make sure to do whatever is set in the controller beforeRender
}
现在,您可以检查视图中的
authUser
变量。当您在数组中返回一些数据时,您就登录了。当您得到
false
null
时,您不是。所以你可以这样做:

if ($authUser){
    //show logout button
} else {
    //show login button
}

// or keep it short

echo $authUser ? /*logout*/ : /*login*/;

当然,您可以扩展if语句,使其尽可能精确。或者,您可以将
AuthComponent::loggedIn
变量解析到视图中,就像我们将完整的用户数据传递到视图中一样。如果您只需要登录状态,强烈建议使用第二种方法。这样就不会向视图传递不必要的数据。稍微增加加载时间

您可以在控制器中执行一些逻辑,并为视图设置一个变量。但我不确定你想要实现什么。你能用一个更具体的例子来更新你的问题吗?你是遇到了问题还是?提前感谢:)我已经更新了我的问题。非常感谢:)有效:D
if ($authUser){
    //show logout button
} else {
    //show login button
}

// or keep it short

echo $authUser ? /*logout*/ : /*login*/;