gpt4 book ai didi

php - Yii::app()->user->isAdmin() 在布局页面中无法正常工作

转载 作者:行者123 更新时间:2023-12-02 07:42:45 28 4
gpt4 key购买 nike

在我的布局页面 Cmenu 可见 fn Yii::app()->user->isAdmin() 当我使用 Yii::app()->user 时无法正常工作->isAdmin() 在其他 View 中它显示正确的值但在布局中不起作用。我的代码在 protected/views/layouts/main.php

    <?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('/site/index'),/*'visible'=>!Yii::app()->user->isGuest*/),
array('label'=>'Master','url'=>array('/site/master'),'visible'=>Yii::app()->user->isAdmin()),
array('label'=>'Transaction','url'=>array('/site/transaction'),'visible'=>Yii::app()->user->isAdmin()),
array('label'=>' Alotted Task','url'=>array('/site/alottedtask'),'visible'=>!Yii::app()->user->isGuest),
array('label'=>'Completed Task','url'=>array('/site/completedtask'),'visible'=>!Yii::app()->user->isGuest),
array('label'=>'Status Update', 'url'=>array('/site/statusupdate'),'visible'=>Yii::app()->user->isAdmin()),

array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>

它显示错误如

Trying to get property of non-object

更新:

我的错误页面http://localhost/tracktest/index.php

error page

最佳答案

所以这是抛出“非对象”错误的代码:

return intval($user->role) == 1;

这意味着当 PHP 试图获取 $user 对象的 role 属性时,$user 实际上并不是一个对象。查看您的代码,这意味着 loadUser() 无法正常工作,或者 Yii::app()->user->id 未返回用户 ID .

为了测试这一点,我会将其添加到您的函数中,以便打印出一些测试变量:

function isAdmin() { // this should say "public function", btw
$testId = Yii::app()->user->id;
echo $testId;
print_r(User::model()->findByPk($testId));
die();
}

这应该让您查看是否正在获取用户 ID,以及用户是否已正确加载。

祝你好运!

关于php - Yii::app()->user->isAdmin() 在布局页面中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9289102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com