انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp
نمایش نام کاربر وارد شده در یک layout - نسخه قابل چاپ

+- انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp (http://forum.cakephp.ir)
+-- انجمن: پرسش و پاسخ و رفع اشکال - نسخه ۳ (http://forum.cakephp.ir/forum-37.html)
+--- انجمن: تمپلیت ها (Template) (http://forum.cakephp.ir/forum-45.html)
+--- موضوع: نمایش نام کاربر وارد شده در یک layout (/thread-1421.html)



نمایش نام کاربر وارد شده در یک layout - akrami - 2015/02/02

با سلام خدمت دوستان عزیز
من می خوام در تمامی صفحاتم نام کاربر وارد شده یه گوشه نمایش داده بشه (مثل فیس بوک که رو اسم خودت کلیک کنی میره تو پروفایلت). برای اینکه می خوام تو کل صفحات نمایش داده بشه می خوام از 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('نام کاربری یا رمزعبور اشتباه می باشد');
 
       }
 
   



RE: نمایش نام کاربر وارد شده در یک layout - akrami - 2015/02/04

با استفاده از قطعه کد زیر در هر کدام از layout ها میشه این کارو انجام داد.
کد پی‌اچ‌پی:
$user "";
$loguser $this->Session->read('Auth.User');
if(!empty(
$loguser)){
 
   $user $loguser['first_name']." ".$loguser['last_name'];




RE: نمایش نام کاربر وارد شده در یک layout - saleh - 2015/02/04

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