2013-12-10 3 views
0

yii-booster를 사용하여 내 사이트에 사용자 정의 부트 스트랩 탐색 모음을 추가하려고합니다. 하지만 navbar를 생성하기 위해 yii-booster API를 사용하는 대신, 나는 단지 기본 부트 스트랩 프레임 워크 방식을 사용했습니다. 시각적으로 잘 작동하지만 어떤 이유로 로그인하려고하면 로그인 상태로 표시됩니다. 그러나 Yii::app()->user->name게스트이고 사이트를 새로 고침하면 로그인이 다시 표시됩니다. 우리가 YII - 부스터 방식을 사용하는 이유사용자 정의 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> 

하지만 난 아래 YII - 부스터를 사용하는 경우, 그것은 잘 작동 ... 나는 꽤 볼 수 없습니다. 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) {} –