2013-12-10 26 views
0

我想添加一個自定義引導navbar到我的網站使用yii-booster。但不是使用yii-booster api來生成導航欄,而是使用基本的引導框架方式。視覺效果很好,但由於某種原因每次我嘗試登錄,我會告訴我作爲內置,但Yii::app()->user->name將是客人,當我刷新該網站時,它顯示再次登錄。定製yii navbar不斷登錄

<div style="height: auto;" class="navbar-wrapper"> 
     <div style="top: 0px;" class="navbar<?php if (!Globals::is_home_page()) echo ' navbar-fixed-top';?>" id="navigation"> 
      <div class="navbar-inner"> 
       <button type="button" class="btn btn-navbar collapsed" data-toggle="collapse" data-target=".nav-collapse"> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
       </button> 
       <a class="brand" href="<?php echo Yii::app()->request->baseUrl; ?>">mysite.com</a> 
       <div class="nav-collapse collapse"> 
        <ul class="nav pull-right"> 
         <li><a class="" href="<?php echo Yii::app()->request->baseUrl; ?>/#how">How It Works</a></li> 
         <?php 
         if (Yii::app()->user->isGuest) 
         { 
          echo '<li><a class="" href="'.Yii::app()->createUrl('/login').'">Login</a></li>'; 
         } 
         else 
         { 
          echo '<li class="dropdown"> 
            <a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0);">Profile <b class="caret"></b></a> 
            <ul class="dropdown-menu"> 
             <li><a href="'.Yii::app()->createUrl('user').'">Profile</a></li> 
             <li><a href="'.Yii::app()->createUrl('/orders').'">Schedule</a></li> 
             <li class="divider"></li> 
             <li><a href="'.Yii::app()->user->logout().'">Logout ('.Yii::app()->user->isGuest.' '.Yii::app()->user->id.' '.Yii::app()->user->name.')</a></li> 
            </ul> 
            </li>'; 
         } 
         ?> 
        </ul> 
       </div> 
      </div> 
     </div> 
    </div> 

但是當我使用下面的警予增壓器,它工作得很好......我不太明白爲什麼我們必須使用警予增壓器的方式。因爲bootsrtap API是如此簡單。我對此很新,有什麼我失蹤或不理解在這裏? )在此先感謝...

<div class="navbar navbar-inverse navbar-fixed-top"> 
    <div class="navbar-inner"> 
     <div class="container-fluid"> 
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
      </a> 
      <a class="brand" href="#"><?php echo Yii::app()->name ?></a> 
      <div class="nav-collapse"> 
       <?php $this->widget('zii.widgets.CMenu',array(
        'htmlOptions' => array('class' => 'nav'), 
        'activeCssClass' => 'active', 
        'items'=>array(
         array('label'=>'Contact', 'url'=>array('/site/contact')), 
         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) 
        ), 
       )); ?> 

      </div> 
     </div> 
    </div> 
</div> 

回答

0

的Yii ::應用程序( - >用戶>名稱返回誰已登錄的用戶的用戶名

對於測試用戶是來賓

你。必須使用

Yii::app()->user->isGuest; 

這會給你更好的結果

+0

我使用'如果(Yii的應用::() - >用戶> isGuest){}',它記錄OU t刷新後 – user2636556

+0

試試這個 if(! Yii :: app() - > user-> id){} –