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

نام تاپیک: ارسال مقادیر

  1. #1
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    ارسال مقادیر

    سلام. باز هم من
    یه سوال داشتم
    به صفحات استاتیک چطور میشه مقادیر ارسال کرد؟ به pages controller
    مثلا به home.ctp
    و آبا این امکان هست که به layaoutها مقدار ازسال کرد؟
    مثلا
    <?php echo $content_for_layout; ?>

    که توی default.ctp هست چطور ارسال شده؟

  2. #2
    کاربر دائمی آواتار zoghal
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    همدان
    سن
    41
    پست
    401

    نقل قول: ارسال مقادیر

    بله. میشه. اگر جواب مثلاتون رو بخوام بدم به این صورت هست.

    $this->set('content_for_layout', 'salam');



    و روش استفاده هم به این صورت
    /pages_controller.php

    function heloo(){
    $this->set('Msg', 'salam');
    }

    /view/pages/heloo.ctp

    echo $Msg;

  3. #3
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: ارسال مقادیر

    تشکر فراوان برای جواب
    اونوفت این pages_controller.php باید توی دایرکتوری controllers قرار بگیره دیگه. آره؟
    و در مورد مقادیری که قراره توی layout استفاده بشه این action کجا باید ساخته بشه؟

  4. #4
    کاربر دائمی آواتار zoghal
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    همدان
    سن
    41
    پست
    401

    نقل قول: ارسال مقادیر

    خواهش.
    1- خوب هر کنترلری که شما ایجاد میکنید. باید در فولدر controllers قرار بگیره.

    2- ببینید. layout ها هون استایل کلی یا چهار چوب پروژه تون هست. اگر شما 100تا view , elements داشته باشید. آخرش همیه اینها در layout نمایش داده میشه.

    در اصل شما مقادیرتون رو به view ها میفرستید. شما برای هر action که خروجی داشته باشه باید یک view داشته باشید.(به طور معمول)
    فرضا ما اگر یک کنترلر به اسم posts داشته باشیم. و در این کترلر 4 عمل اصلی مثل لیست. اضافه کردن و ویرایش کردن . خذف کردن داشته باشیم.

    شما اینجا 4 تا اکشن دارید.
    1-function index
    2- function add
    -function edit
    4- function delete
    که در 3 تای اول شما چون خروجی دارید. پس باید 3 تا view داشته باشی. که مقادیر خروجی رو با $this->set به ویو ها مفرستی

  5. #5
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: ارسال مقادیر

    از توضیح کاملی که دادی ممنونم . اینا رو میدونم. بیشتر مد نظرم هست که مثل مقدار $content_for_layou که توی layout هست ولی توی تمام اکشن ها به viewارسال نمیشه و فقط یک بار این کار انجام میشه.
    دقیق تر بخوام بگم اینجوری میشه:
    یه سری مقدار هست که توی تمام صفحات باید استفاده بشه. در حال حاضر توی هر اکشن اینا رو میفرستم به viewها. اما چطور این تکرار کد رو میشه حذف کرد؟

  6. #6
    کاربر دائمی آواتار zoghal
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    همدان
    سن
    41
    پست
    401

    نقل قول: ارسال مقادیر

    منظورت رو از تکرار نمی فهمم. مثال واضح تری میزنی

  7. #7
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: ارسال مقادیر

    منظورم اینه که اگر بخوام از مقدار ax توی تمام صفحات استفاده کنم باید عبارت زیر رو توی تما اکشن ها تکرارکنم
    $this->set('ax', 'salam');

    که کار سخت و بیهوده ای هست. در صوزتی که متغیر هایی توی lauoyt/default.ctp هست که از جایی مقدار دهی میشن.
    اگر این مقادیر فقط یک بار برای همیشه فرستاده یشن مشکلات کمتری به وجود میاد

  8. #8
    کاربر دائمی آواتار zoghal
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    همدان
    سن
    41
    پست
    401

    نقل قول: ارسال مقادیر

    فهمیدم چرا میشه.
    تو فولدر app یک فایل به نام app_controller.php ایجاد میکنی با این کد

    <?php

    class AppController extends Controller {

    function beforeRender()
    {
    $this->set('Saleh','aaaaaaaaaaa');
    }

    }
    ?>


    حال در هر جا از ویو هات دوست داشتی echo $Saleh رو بزنی aaaaaaaaaa رو چاپ میکنه

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

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