ویجت یا ابزارک (widget)، یک کدِ سمتِ client با قابلیت استفاده ی مجدد است که حاوی HTML، CSS و JS می باشد. این کد، کد منطقی کوچکی است که در شیء yii\base\Widget قرار گرفته شده است. ما به راحتی می توانیم این شی را در هر view یی اضافه و اعمال کنیم.

مرحله ۱ – برای دیدن ویجت ها در اکشن، تابع actionTestWidget را در SiteController با کد زیر ایجاد کنید.

در مثال بالا، ما یک view به نام “testwidget” را برگرداندیم.

مرحله ۲ – در داخل پوشه views/site، یک فایل view به نام testwidget.php ایجاد کنید.

مرحله ۳ – اگر به آدرس http://localhost:8080/index.php?r=site/test-widget بروید، ویجت نوار پیشرفت را خواهید دید.

ابزارک ها در فریمورک Yii

طرز استفاده از ابزارک یا widget ها

برای استفاده از یک ویجت در یک view، شما باید تابع ()yii\base\Widget::widget را فراخوانی کنید. این تابع یک آرایه ی پیکربندی برای مقداردهی اولیه ویجت را می گیرد. در مثال قبلی، یک نوار پیشرفت با درصد و پارامترهای برچسب شده، در شیء پیکربندی را اضافه نمودیم.

بعضی از widget ها یک بلوک از محتوا را می گیرند. که باید بین توابع ()yii\base\Widget::begin و ()yii\base\Widget::end محصور شوند. به عنوان مثال، widget زیر فرم تماس را نشان می دهد –

ایجاد ابزارک

برای ایجاد یک widget باید yii\base\Widget را گسترش دهید. سپس شما باید توابع ()yii\base\Widget::init و ()yii\base\Widget::run را بازنویسی یا override کنید. تابع ()run باید نتیجه تفسیر شده را بازگرداند. تابع ()init باید خواص widget را نرمال سازی کند.

مرحله ۱ – یک پوشه به نام components را در ریشه پروژه ایجاد کنید. داخل آن پوشه، یک فایل با نام FirstWidget.php با کد زیر ایجاد کنید.

مرحله ۲ – ویو testwidget را به شیوه زیر ویرایش کنید.

مرحله ۳ – در مرورگرتان به آدرس http://localhost:8080/index.php?r=site/test-widget بروید. آنچه که مشاهده می کنید مطابق با تصویر زیر است.

widget در فریمورک yii

مرحله ۴ – برای محصور کردن محتوا بین ()begin و ()end ، باید فایل FirstWidget.php را ویرایش کنید.

مرحله ۵ – در حال حاضر برچسب h1 تمام محتوا را احاطه کرده است. توجه داشته باشید که ما از تابع ()ob_start برای ذخیره موقت خروجی، استفاده می کنیم. ویوی testwidget همانطور که در کد زیر آمده است، تغییر دهید.

آنچه که در خروجی مشاهده می کنید مطابق با تصویر زیر می باشد –

ویجت در فریمورک yii

نکات مهم

widget ها باید:

با استفاده از الگوی MVC ایجاد شوند. شما باید لایه های نمایشی را در view ها و لایه های منطقی یا logic را در کلاس های widget نگه دارید.

به طور جامع و مستقل طراحی شوند. یک توسعه دهنده وب باید بتواند هر طرح دلخواهی را درفایل های view ایجاد کند.

 

کلیدواژه ها :

این خبر را به اشتراک بگذارید :