Yii2 /导航栏/非对象的隐藏属性

大卫

在旧版本的Yii中,用户未登录时,导航条的这一部分正在运行。

array('label'=>Yii::t('ge',Yii::app()->user->name), 'url'=>array('/site/index'), 'visible'=>!Yii::app()->user->isGuest),

在Yii2

['label' => Yii::$app->user->identity->username, 'url' => ['site/index'], 'visible'=>!Yii::$app->user->isGuest],

抛出“试图获取非对象的属性”表示对象Yii::$app->user->identity->username不存在。

我该如何解决这个问题?为什么旧版本可以正常工作?

拉紧

您应该简单地使用:

'label' => Yii::$app->user->isGuest ? 'Guest' : Yii::$app->user->identity->username

或扩展\yii\web\User以处理此问题。

在Yii2中:

@property IdentityInterface | null $ identity与当前登录用户关联的身份对象。null如果用户未登录(未认证),则返回

在Yii1中,CWebUser提供默认名称。请随时在此处为Yii2询问此功能:https : //github.com/yiisoft/yii2/issues

编辑:如果您只想为来宾隐藏此菜单项,请将其添加到您的项目:

'visible' => !Yii::$app->user->isGuest,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yii2导航栏活动

来自分类Dev

试图获取yii2中非对象的属性

来自分类Dev

Yii2:试图获取非对象的属性

来自分类Dev

带有下拉菜单的yii2导航栏

来自分类Dev

yii2中导航栏的外部链接

来自分类Dev

如何在Yii2中更改导航栏颜色

来自分类Dev

yii2隐藏的输入值

来自分类Dev

隐藏Yii2 GridView操作按钮

来自分类Dev

Yii2从url隐藏动作名称

来自分类Dev

Yii2 activerecord定制属性

来自分类Dev

Yii2:如何获得$ this的属性?

来自分类Dev

Yii2:如何获得$ this的属性?

来自分类Dev

Yii2在非对象上调用成员函数saveAs()

来自分类Dev

Yii2 调用非对象上的成员函数 load()

来自分类Dev

yii2导航小部件子菜单类

来自分类Dev

Yii2仅在单行的“操作”列中隐藏操作

来自分类Dev

Yii2无效呼叫:设置只读属性

来自分类Dev

Yii2。动态添加属性和规则到模型

来自分类Dev

在Yii2中获取模型属性的类型

来自分类Dev

检查属性是否存在而不抛出异常yii2

来自分类Dev

必需的验证程序(Yii2)的targetAttribute(或类似属性)

来自分类Dev

如何在Yii2 ActiveRecord中获取属性标签

来自分类Dev

在yii2中获取未知属性异常

来自分类Dev

Yii2 DetailView:使用函数的属性值

来自分类Dev

在Yii2 GridView / ActionColumn上设置模板属性?

来自分类Dev

Yii2获取关系模型的特定属性

来自分类Dev

Yii2:使用findBySql时获取未知属性

来自分类Dev

Yii2从google authclient登录获取用户属性

来自分类Dev

HTML上的Yii2可见性属性