امروز:دوشنبه ,۱۳۹۷/۱۱/۲۹
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Home / Yii1 / ساخت ماژول (ویجت) در Yii
ساخت ویجت در yii

ساخت ماژول (ویجت) در Yii

یکی دیگه از امکانات فریم ورک yii استفاده از ویجت هاست (widget ) .
ویجت ها کامپوننت هایی هستن که شامل مدل و ویو هستن که می توان آنها را در هر جایی استفاده کرد. به این معنی که
شما میتوانید آنهارا مستقل از controller , view , model به صورت جدا نمایش دهید .
برای مثال برای نمایش آرشیو سایت در نوار کناری ,تقویم, نمایش تبلیغات و …..

برای ساخت ماژول ابتدا شما باید در مسیر

protected/components

فایل php بسازین که نام ماژول یا ویجتتون هست
برای مثال من ماژول خود را با نام myWidget.php می سازم
توجه داشته باشین که ویجتتون باید از CWidget فریم ورک yii ارث برده باشه .

class myWidget extends CWidget {
    public function init() {
    }
    public function run() {
      $data = "amir ajlo goYii.ir";
        $this->render('myWidgetindex', array('data' => $data));
    }
}

Cwidget دو متد داره که شما باید آن هارو override (بازنویسی) کنید.
این دو متد init و run هستند

در init شما میتوانید متغغیر های پیش فرض خود را استفاده کنید
برای مثال شما میتوانید css ها یا script هایی که ویجتتون به آن نیاز دارد را لود کنید.

در قسمت run بدنه ی اصلی ویجت شما قرار داره که میتونین به صورت مستقیم دیتا نمایش دهید : html و … ,
و یا اطلاعاتی را به ویو ارسال نمایید .
در مثال بالا من ویوی خود را صدا زده و دیتایی به آن ارسال کرده ام .
خوب حالا ویو ی ما که اسمش myWidgetindex هست کجاست ؟
در مسیر زیر :

protected/components/views/myWidgetindex.php

در ویو من data را نمایش داده ام :

echo $data;

ویجتتون آماده شده الان
فقط میمونه نمایش آن در هر جایی که می خواهید
کد زیر را هرجا که قرار دهید مقدار data را نمایش میدهد .

$this->widget('myWidget');

Check Also

متد findByAttributes

استفاده از متد findByAttributes() در yii1 یکی از متد های CActiveRecord متد findByAttributes می باشد …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *