انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp

نسخه‌ی کامل: نمایش نام کاربر وارد شده در یک layout
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام خدمت دوستان عزیز
من می خوام در تمامی صفحاتم نام کاربر وارد شده یه گوشه نمایش داده بشه (مثل فیس بوک که رو اسم خودت کلیک کنی میره تو پروفایلت). برای اینکه می خوام تو کل صفحات نمایش داده بشه می خوام از layoutاستفاده کنم.
چجوری می تونم اطلاعات کاربر login شده رو توی این layout لود کنم؟

برای login شدن از کامپوننت Authentication به صورت زیر استفاده کردم:
کد پی‌اچ‌پی:
$this->loadComponent('Auth', [
 
           'loginRedirect' => [
 
               'controller' => 'Pages',
 
               'action' => 'display'
 
           ],
 
           'logoutRedirect' => [
 
               'controller' => 'Users',
 
               'action' => 'login'
 
           ],
 
           'authError' => 'شما باید ابتدا وارد شوید'
 
       ]); 

همچنین تابع loginبه صورت زیره:
کد پی‌اچ‌پی:
public function login()
 
   {
 
       $this->layout 'lock';
 
       if($this->request->is('post')){
 
           $user $this->Auth->identify();
 
           if($user){
 
               $this->Auth->setUser($user);
 
               return $this->redirect($this->Auth->redirectUrl());
 
           }
 
           $this->Flash->error('نام کاربری یا رمزعبور اشتباه می باشد');
 
       }
 
   
با استفاده از قطعه کد زیر در هر کدام از layout ها میشه این کارو انجام داد.
کد پی‌اچ‌پی:
$user "";
$loguser $this->Session->read('Auth.User');
if(!empty(
$loguser)){
 
   $user $loguser['first_name']." ".$loguser['last_name'];

بهتره این کد رو در یک المنت قرار بدید و المنت رو در لایوت درج کنید. تا بتونید از کش هم بهره بگیرید.