在Yii头文件中显示或隐藏某些菜单

时间:2015-12-18 03:01:46

标签: php html yii

我想让我的网站菜单显示以下条件:

  1. 如果用户没有登录,菜单将如下:

      

    画廊|联系我们|登录

  2. 如果用户登录网站,菜单将显示如下:

      

    画廊|联系我们|注销


  3. 这是我在头文件中调用菜单的编码:

    <?php
        $output = '';
        $menus1 = MenuPortal::model()->findAll(array('condition' => "type='atas' AND display_status='1' AND parent_id=0 ORDER BY sort ASC"));
    
        foreach ($menus1 as $menu) {
            $submenu = MenuPortal::model()->findAll(array('condition' => "parent_id=$menu->id"));
            if (sizeof($submenu) > 0) {
                foreach ($submenu as $smenu) {
                    $output .= '<li><a href=' . $menu->url . '&id=' . PortalElement::encrypt_decrypt('encrypt', $smenu->id) . '>' . $menu->title_my . '</a></li>';
                    break;
                }
             }
             else {
                 $output .= '<li><a href=' . $menu->url . '&id=' . PortalElement::encrypt_decrypt('encrypt', $menu->id) . '>' . $menu->title_my . '</a></li>';
             }
       }
    
        echo $output;
    ?>
    

    我在想的是检查会话是否处于活动状态,然后显示菜单#2。如果没有会话,则显示菜单#1。

1 个答案:

答案 0 :(得分:2)

foreach循环后,只应用以下条件..

if(Yii::app()->user->isGuest()){
  $output. = "<li><a href='login'>Login</a></li>";
}else{
  $output. = "<li><a href='login'>Logout</a></li>";
}