نمایش نتایج 1 تا 4 از 4

نام تاپیک: اضافه کردن Paginate کامپوننت در داخل کلاس فرزند بدون اینکه $components کلاس AppController بازنویسی

  1. #1

    اضافه کردن Paginate کامپوننت در داخل کلاس فرزند بدون اینکه $components کلاس AppController بازنویسی

    در cakephp 2.6 و در داخل کنترلر پایه AppController ، یک متغییری هست که بوسیله آن کامپوننت هامونو لود میکنیم ، به اسم $components ، کلاس AppController من به صورت زیر هست:



    class AppController extends Controller {

    public $components = array(
    'Session',
    'Auth' => array(
    'loginRedirect' => array(
    'controller' => 'posts',
    'action' => 'index'
    ),
    'logoutRedirect' => array(
    'controller' => 'pages',
    'action' => 'display'
    ),
    'authenticate' => array(
    'Form' => array(
    'passwordHasher' => 'Blowfish'
    )
    ),
    'authorize' => array('Controller')
    )
    );
    }


    و کلاس پست:



    class PostsController extends AppController {

    public $components = array('Paginator');

    //codes here
    }


    در کلاس پست متغییر $components کلاس والد بازنویسی (اورراید) می شود در صورتی که من می خوام در کلاس بچه (پست) علاوه حفظ متغییر $components والد ، متغییر $components بچه را نیز داشته باشم ، راه حل؟؟؟

  2. #2
    کاربر دائمی آواتار vahidqara
    تاریخ عضویت
    تیر 1388
    محل زندگی
    کرمانشاه
    پست
    389

    نقل قول: اضافه کردن Paginate کامپوننت در داخل کلاس فرزند بدون اینکه $components کلاس AppController ب

    درود..
    کیک انجمن مخصوص به خود رو هم داره به این آدرس
    cakephp.ir
    و اما یه راه حل اینه شما همشو توی کنترل والد یا همون app بزارید و از همه جا قابل دسترس هست خواستید استفاده کنید نخواستید استفاده نکنید

              public $components = array('RequestHandler','Session','Cookie','ShamsiD  ate.Shamsi','Paginator','Auth');


  3. #3

    نقل قول: اضافه کردن Paginate کامپوننت در داخل کلاس فرزند بدون اینکه $components کلاس AppController ب

    نقل قول نوشته شده توسط vahidqara مشاهده تاپیک
    درود..
    کیک انجمن مخصوص به خود رو هم داره به این آدرس
    cakephp.ir
    و اما یه راه حل اینه شما همشو توی کنترل والد یا همون app بزارید و از همه جا قابل دسترس هست خواستید استفاده کنید نخواستید استفاده نکنید

              public $components = array('RequestHandler','Session','Cookie','ShamsiD  ate.Shamsi','Paginator','Auth');

    انجمنی که معرفی کردید بوکمارک کردم حتما سر میزنم

    در مورد راه حلی که گفتید به ذهن خودمم رسیده بود اما این روش به نظرم پاک کردن صورت مساله هست.
    فرض کنید که در کنترلر AppController یه تابعی داشته باشیم به اسم تست:



    public function test(){
    //codes here
    }


    اگه در کلاس PostsController هم تابعی همنام داشته باشیم و بخوام که در کنترلر فرزند ، هم تابع جدیدمو داشته باشم و هم تابع داخل کنترلر پدر رو داشته باشم می تونم این طوری بنویسم:



    public function test(){
    parent::test();
    //baghie code ha inja
    }


    می خوام بگم که همچین راه حل مشابهی برای متغیرها وجود نداره؟؟؟

  4. #4
    کاربر دائمی آواتار vahidqara
    تاریخ عضویت
    تیر 1388
    محل زندگی
    کرمانشاه
    پست
    389

    نقل قول: اضافه کردن Paginate کامپوننت در داخل کلاس فرزند بدون اینکه $components کلاس AppController ب

    درود.. حتما سر بزنید..
    بحث پاک کردن صورت مسئله نیست بحث راه حله دوستم..
    بله برای متدها میشه از اون روشی که گفتید (ارث بری ) استفادخ کنید .. البته یه مطالعه در زمینه Request Life-cycle callbacks
    داشته باشید.
    http://book.cakephp.org/2.0/en/controllers.html
    و برای متغیرها به این صورت نیست.. یه حوزه یا محدوده تعریف دارند.. محلی سراسری
    وقتی متغیری در app تعریف میکنید در تمای کنترلرهای فرزند در دسترس میباشد و قابل تغییر از نظر محتوا..
    حالا میخوای متغیر محلی تعریف کنید در همون کنترلر مد نظر این کارو انجام بدید..
    امیدوارم جوابتونو گرفته باشید در غیر این صورت میتونید تو انجمن کیک جستجو و یا دوباره مطرح کنید موفق باشید

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: دوشنبه 28 اسفند 1391, 08:56 صبح
  2. سوال: اضافه کردن یک رکورد DataGridView از فرم فرزند به فرم والد
    نوشته شده توسط nava_2012 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: دوشنبه 07 فروردین 1391, 01:48 صبح
  3. پاسخ: 10
    آخرین پست: چهارشنبه 10 اسفند 1390, 21:01 عصر
  4. اضافه کردن عکس متغیر از داخل source
    نوشته شده توسط saeedkazeminia در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: یک شنبه 26 اردیبهشت 1389, 20:07 عصر
  5. اضافه کردن یک کامپوننت دات نت به پروژه
    نوشته شده توسط Chabok در بخش VB.NET
    پاسخ: 6
    آخرین پست: دوشنبه 18 مهر 1384, 14:14 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •