Have you added 'Auth' into your $components variable in the AppController? 

Also, I think that Auth needs to be used from the controller - you could 
always dump the information you need to a variable in your controller and 
then pass it to the view for use. 

On Saturday, June 22, 2013 7:54:50 PM UTC+1, Saiful Islam wrote:
>
> I am new in CakePHP, trying to make an application. In this application, I 
> have a navigation bar, whose Menus I want to be changed according to login 
> status of a user. I think I can't explain clearly, please have a look at 
> this code snippet :
>
> This is my "header" part's(an "element") navigation bar:
>
>            $list="";
>            if($authUser)
>            {
>            $list=array(
>                     
> $this->Html->link('Home',array('controller'=>'pages','action'=>'index')),
>                     
> $this->Html->link('About',array('controller'=>'pages','action'=>'about')),array(
>                                                                               
>                    
> $this->Html->tag('span',null,array('class'=>'top')),
>                                                                               
>                    
> $this->Html->tag('span',null,array('class'=>'bottom')),
>                                                                               
>                    
> $this->Html->link('Sub Menu 1',array('controller'=>'','action'=>'')),
>                                                                               
>                    
> $this->Html->link('Sub Menu 2',array('controller'=>'','action'=>'')),
>                                                                               
>                    
> $this->Html->link('Sub Menu 3',array('controller'=>'','action'=>'')),
>                                                                               
>                 
> ),
>                     
> $this->Html->link('Gallery',array('controller'=>'pages','action'=>'gallery')),array(
>                                                                               
>                        
> $this->Html->tag('span',null,array('class'=>'top')),
>                                                                               
>                        
> $this->Html->tag('span',null,array('class'=>'bottom')),
>                                                                               
>                        
> $this->Html->link('Sub Menu 1',array('controller'=>'','action'=>'')),
>                                                                               
>                        
> $this->Html->link('Sub Menu 2',array('controller'=>'','action'=>'')),
>                                                                               
>                        
> $this->Html->link('Sub Menu 3',array('controller'=>'','action'=>'')),
>                                                                               
>                     
> ),
>                     $this->Html->link('My 
> Posts',array('controller'=>'pages','action'=>'myPosts/1')),
>                     
> $this->Html->link('Blog',array('controller'=>'pages','action'=>'blog')),
>                     
> $this->Html->link('Contact',array('controller'=>'pages','action'=>'contact')),
>                     
> $this->Html->link('Logout',array('controller'=>'users','action'=>'logout'))
>                  );
>            }
>            else
>            {
>            $list=array(
>                     
> $this->Html->link('Home',array('controller'=>'pages','action'=>'index')),
>                     
> $this->Html->link('About',array('controller'=>'pages','action'=>'about')),array(
>                                                                               
>                    
> $this->Html->tag('span',null,array('class'=>'top')),
>                                                                               
>                    
> $this->Html->tag('span',null,array('class'=>'bottom')),
>                                                                               
>                    
> $this->Html->link('Sub Menu 1',array('controller'=>'','action'=>'')),
>                                                                               
>                    
> $this->Html->link('Sub Menu 2',array('controller'=>'','action'=>'')),
>                                                                               
>                    
> $this->Html->link('Sub Menu 3',array('controller'=>'','action'=>'')),
>                                                                               
>                 
> ),
>                     
> $this->Html->link('Gallery',array('controller'=>'pages','action'=>'gallery')),array(
>                                                                               
>                        
> $this->Html->tag('span',null,array('class'=>'top')),
>                                                                               
>                        
> $this->Html->tag('span',null,array('class'=>'bottom')),
>                                                                               
>                        
> $this->Html->link('Sub Menu 1',array('controller'=>'','action'=>'')),
>                                                                               
>                        
> $this->Html->link('Sub Menu 2',array('controller'=>'','action'=>'')),
>                                                                               
>                        
> $this->Html->link('Sub Menu 3',array('controller'=>'','action'=>'')),
>                                                                               
>                     
> ),
>                     
> $this->Html->link('Blog',array('controller'=>'pages','action'=>'blog')),
>                     
> $this->Html->link('Contact',array('controller'=>'pages','action'=>'contact'))
>                  );
>                  }
>            echo $this->Html->nestedList($list);
>
> what I want, if a user is logged in "My Post" and "Logout" menus will be 
> there, otherwise not. I am getting the value of the $authUser variable from 
> all of the "View" files, when I set the "header" there. This is the code 
> that I am keeping in all "View" files :
>
>            echo 
> $this->element('header',array("authUser"=>$this->Auth->loggedIn()),array("cache"=>"long_view"));
> This creates 2 errors, saying "There is no Auth helper in the library" and 
> "$authUser" could not be recognized, in the "header.ctp". What should I do 
> now ?
>
> By the way, I am using "AuthComponent" for user Login, Logout and SignUp. 
> Should I use Session instead of Authentication, or mix of these 2, like 
> when a user gets logged in, a new session value will be created and that 
> will be checked whenever it needs to do that ?
>
> I got some help from another developer, he gave me that "authUser" idea, I 
> think it looks good, but that "Auth" helper creates problem.
>
> Thanks
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to