1

如果您之前没有登录,我想限制菜单选项卡,因此重定向到登录网页。

例如,如果我在 layout/main.php 中有:

<div id="mainmenu">
    <?php $this->widget('zii.widgets.CMenu',array(
        'items'=>array(
            array('label'=>'Visit us', 'url'=>array('/visit/index')),
            array('label'=>'Employee', 'url'=>array('/employee/index')),
            array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

我想限制菜单选项卡员工我应该在哪里写限制?

我在另一篇文章中读到类似的内容,但我不知道如何使用它:

if(!isset($_SESSION["user"]))
{
    header("Location: homepage.php");
}

拜托,有人可以帮助我吗?非常感谢你

4

2 回答 2

1

它清楚地写在 docs 中。要定义菜单元素是否可见,只需使用visible参数,与登录页面相同,但使用否定:

array('label'=>'Visit us', 'url'=>array('/visit/index')),
array('label'=>'Employee', 'url'=>array('/employee/index'), 'visible'=>!Yii::app()->user->isGuest),
array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

要控制对员工的访问,请使用访问控制过滤器

于 2013-08-28T10:38:13.747 回答
0

我没有让你准备好,但我认为你不想向访客用户显示员工菜单链接....

如果您正在寻找它,那么您只能在 main.php 中检查条件...

 if(Yii::app()->user->isGuest())
 {
     <div id="mainmenu">
      <?php $this->widget('zii.widgets.CMenu',array(
      'items'=>array(
        array('label'=>'Visit us', 'url'=>array('/visit/index')),
        // array('label'=>'Employee', 'url'=>array('/employee/index')),
        array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest), 
    //your code
 }
 else
 {
  <div id="mainmenu">
      <?php $this->widget('zii.widgets.CMenu',array(
      'items'=>array(
        array('label'=>'Visit us', 'url'=>array('/visit/index')),
        array('label'=>'Employee', 'url'=>array('/employee/index')),
        array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
        //your code
 }

关于你说如果他没有登录你想将用户转移到登录页面......如果你使用yii内置登录表单,这件事会在yii中自动完成

于 2013-08-28T09:50:16.863 回答