Obtener Valores De Usuario

Amigos:

Alguien sabe cual es la forma mas Practica de obtener los datos de los usuario logueado en cualquier Controlador ??

he leido y se que con Yii::app()->user->[…] se hace pero por ejemplo en mi caso yo quiero acceder un campo de la tabla usuario que es integer, se llama usuario_cc_id

probe con Yii::app()->user->usuario_cc_id Pero me dise:

La propiedad "CWebUser"."usuario_cc_id" no se encuentra definida.

he leido tambien http://www.yiiframework.com/doc/api/1.1/CWebUser#absoluteAuthTimeout-detail pero no logro encontrar un metodo que me sirva, ojala alguien me pueda ayudar

De ante mano Muchas Gracias…

Con Yii::app()->user->variable accedes a las variables de sesión. Lo que sí puedes hacer es acceder a su ID de esa forma y cargar su modelo con $this->loadModel($id). Así podrás acceder a cualquier valor de su tabla.

Buenas.

Alberto, tienes q hacer lo q te dije en la conversación privada. En protected/components/WebUser.php defines cuantos metodos y propiedades quieras y listo. En la conversación privada te dije como escribir el metodo isAdmin().

Un saludo.

Ya entendí mira cree el archivo que me dijiste WebUser.php y tiene lo siguiente




<?php


class WebUser extends CWebUser

{

	 // Store model to not repeat query.

  	private $_model;

 

  	// Return first name.

  	// accesdemos al Cus


	protected function loadUser($usuario_id=null)

	{

	     if($this->_model===null)

	     {

	          if($usuario_id!==null)

	               $this->_model = Users::model()->findByPk($usuario_id);

	     }


	     return $this->_model;

	}

	function getIdCustomer(){

    	$user = $this->loadUser(Yii::app()->user->usuario_id);

    	return $user->usuario_cc_cust_id;

  	}	

}

?>



Lo de los permisos de usuario al final lo hize con RBAC porsiacazo.

Ya depues en el Controlador tengo lo siguiente




	public function actionAdmin()

	{


		$model=new Asiento('search');


 		$this->performAjaxValidation($model);


		if(isset($_GET['Asiento']))

			$model->attributes=$_GET['Asiento'];


		if(isset($_POST['Asiento']))

		{

			$model->attributes=$_POST['Asiento'];        

            $model->asiento_usuario_id = Yii::app()->user->getId();

			$model->asiento_cc_cust_id = Yii::app()->user->getIdCustomer();


			if($model->save())

				$this->redirect(array('view','id'=>$model->asiento_id));


		}


		$this->render('admin',array(

			'model'=>$model,

		));

	}



en esta linea es donde se le asignan el valor que necesito pero no me resulta.

$model->asiento_cc_cust_id = Yii::app()->user->getIdCustomer();

me da el siguiente error

CWebUser y sus behaviors no tienen un método o closure llamado "getIdCustomer".

Ojala me pueda ayudar porfavor

Estoy bastante dormido pero probaste haciendo public esa función getIdCustomer?

Además podés usar Yii::app()->user->idCustomer;

Yo pensé en lo mismo pero al chequear la documentación de PHP la misma dice que por defecto los métodos que no lo declaran explícitamente son públicos. En mis WebUser.php siempre las declaro públicas a menos que tenga una razón especial para no hacerlo. No se pierde nada con tratarlo…

Solo me faltaba agregar en protected/config/main.php

‘user’=>array(

    'class' =&gt; 'WebUser',

),

y Listo !!

Saludos y Gracias por la ayuda a todos !

y como haria para que Yii::app()->user->getIdCustomer() tome el valor de 0 cuando se cierre sesión?

Si haces un:




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



Debería destruirte la sesión completa, pero si lo que qieres es establecer este dato, supongo que en tu site/logout podrías hacer lo siguiente:




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


Yii::app()->user->setIdCustomer(0);



Aunque con la sesión cerrada no sé si se puede acceder a Yii::app()->user (creo q sí ya que estaríamos en el usuario "Guest").

Por supuesto tendrías que crear el método setIdCustomer.

Un saludo.

ok bueno te explico, el problema es el siguiente estoy utilizando el método que explican aquí para traer un valor de la base de datos, ese valor según el usuario sera un numero del 1 al 6. Luego de tener ese numero mostrare un menú en la aplicación según el numero de esa variable de sesión, me funciona bien mientras la sesión este activa pero cuando cierro sesión me dice que "Trying to get property of non-object" y me remarca el método utilizado aquí, el getIdCustomer en la linea "return".

El codigo del tpl_navigation donde estan los menus es este




<?php if (Yii::app()->user->getIdCustomer() == 1) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						

                        array('label'=>'Atencion Al Ciudadano <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitantes', 'url'=>array('/Solicitantes/index')),

						array('label'=>'Solicitudes Sociales', 'url'=>array('/SolicitudesSocial/index')),

						array('label'=>'Comunidades', 'url'=>array('/Comunidades/index')),

						array('label'=>'Instituciones', 'url'=>array('/Instituciones/index')),

						array('label'=>'Solicitudes de Mercal', 'url'=>array('/')),

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Ayudas Sociales <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'Mercal <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

						array('label'=>'Despacho <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Recursos Humanos <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Empleados', 'url'=>array('/empleados/index')),

						array('label'=>'Vacaciones', 'url'=>array('/vacaciones/index')),

						array('label'=>'Permisos', 'url'=>array('/site/page')),

						array('label'=>'Reposos', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } elseif(Yii::app()->user->getIdCustomer() == 2) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						

                        array('label'=>'Atencion Al Ciudadano <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitantes', 'url'=>array('/Solicitantes/index')),

						array('label'=>'Solicitudes Sociales', 'url'=>array('/SolicitudesSocial/index')),

						array('label'=>'Comunidades', 'url'=>array('/Comunidades/index')),

						array('label'=>'Instituciones', 'url'=>array('/Instituciones/index')),

						array('label'=>'Solicitudes de Mercal', 'url'=>array('/')),

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } elseif(Yii::app()->user->getIdCustomer() == 3) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

                        array('label'=>'Ayudas Sociales <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } elseif(Yii::app()->user->getIdCustomer() == 4) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Mercal <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Solicitudes', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } elseif(Yii::app()->user->getIdCustomer() == 5) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Despacho <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Remisiones', 'url'=>array('/site/page')),

						array('label'=>'Aprobaciones', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } elseif(Yii::app()->user->getIdCustomer() == 6) {?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

						array('label'=>'Recursos Humanos <span class="caret"></span>', 'url'=>'#', 'itemOptions'=>array('class'=>'dropdown','tabindex'=>"-1"),'linkOptions'=>array('class'=>'dropdown-toggle','data-toggle'=>"dropdown"),

						'items'=>array(

						array('label'=>'Empleados', 'url'=>array('/empleados/index')),

						array('label'=>'Vacaciones', 'url'=>array('/vacaciones/index')),

						array('label'=>'Permisos', 'url'=>array('/site/page')),

						array('label'=>'Reposos', 'url'=>array('/site/page')),

						)),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } else{?>

<?php Yii::app()->user->logout(); ?>

<div class="navbar navbar-inverse navbar-fixed-top">

	<div class="navbar-inner">

    <div class="container">

        <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>

     

          <!-- Be sure to leave the brand out there if you want it shown -->

          <a class="brand" href="#">SDC</a>


          <div class="nav-collapse">

			<?php $this->widget('zii.widgets.CMenu',array(

                    'htmlOptions'=>array('class'=>'pull-right nav'),

                    'submenuHtmlOptions'=>array('class'=>'dropdown-menu'),

					'itemCssClass'=>'item-test',

                    'encodeLabel'=>false,

					'items'=>array(

                        array('label'=>'Inicio', 'url'=>array('/site/index')),

                        array('label'=>'Iniciar Sesion', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

                        array('label'=>'Cerrar Sesion ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),

                    ),

                )); ?>

        </div>

    </div>

	</div>

</div>


<div class="subnav navbar navbar-fixed-top">

    <div class="navbar-inner">

    	<div class="container">

        

        	<div class="style-switcher pull-left">

                <a href="javascript:chooseStyle('none', 60)" checked="checked"><span class="style" style="background-color:#a30c22;"></span></a>

                <a href="javascript:chooseStyle('style2', 60)"><span class="style" style="background-color:#7c5706;"></span></a>

                <a href="javascript:chooseStyle('style3', 60)"><span class="style" style="background-color:#468847;"></span></a>

                <a href="javascript:chooseStyle('style4', 60)"><span class="style" style="background-color:#4e4e4e;"></span></a>

                <a href="javascript:chooseStyle('style5', 60)"><span class="style" style="background-color:#d85515;"></span></a>

                <a href="javascript:chooseStyle('style6', 60)"><span class="style" style="background-color:#c12889;"></span></a>

                <a href="javascript:chooseStyle('style7', 60)"><span class="style" style="background-color:#1d2e7b;"></span></a>

          	</div>

    	</div><!-- container -->

        

    </div><!-- navbar-inner -->

</div><!-- subnav -->

<?php } ?>



Claro, te pasa lo que te comenté.

Cuando cierras sesión no existe ningún usuario (no es del todo cierto ya q existe el Guest), por lo que no puedes acceder a ninguna propiedad del usuario pq no existe.

Lo que tienes q tener es un menú por defecto para mostrar cuando el usuario sea Guest y otro que se muestre en función de tu CustomerId de un usuario logueado.

Creo q sería algo así:




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

{

// Menú defecto.

}

else

{

// Cargas el menú en función de tu CustomerId

}



Un saludo.