如何使用yii2框架自定義widget
本教程教你如何自定義widget,widget是view中能被重用的代碼塊。
創建widget的步驟:
1 繼承yii\base\Widget.
2 實現yii\base\Widget::init() 和 yii\base\Widget::run()方法
@ 創建widget
首先在項目根目錄創建
components 目錄,然后新建一個 HelloWidget 類。使用此widget,將會展示一條帶有username的歡迎信息。如下
<?php namespace app\components; use yii\base\Widget; use yii\helpers\Html; class HelloWidget extends Widget{ public $message; public function init(){ parent::init(); if($this->message===null){ $this->message= 'Welcome User'; }else{ $this->message= 'Welcome '.$this->message; } } public function run(){ return Html::encode($this->message); } } ?>
init() - should contain the widget properties, run() - should contain rendering result of the widget
在yii2中展示widget 的內容
使用此widget只需在view頭部引入
app\components\HelloWidget 命名空間
Controller: SiteController.php
<?php .......... class SiteController extends Controller { ........... public function actionCreatewidget(){ return $this->render('hellowidget'); } ........... } ?>
View: site/hellowidget.php
<?php use app\components\HelloWidget; ?> <?= HelloWidget2::widget(['message' => ' Yii2.0']) ?>
OUTPUT
Welcome Yii2.0
