如何使用yii2框架自定义widget
本教程教你如何自定义widget,widget是view中能被重用的代码块。
创建widget的步骤:
1 继承yiiaseWidget.
2 实现yiiaseWidget::init() 和 yiiaseWidget::run()方法
@ 创建widget
首先在项目根目录创建 components 目录,然后新建一个 HelloWidget 类。使用此widget,将会展示一条带有username的欢迎信息。如下
<?php namespace appcomponents; use yiiaseWidget; use yiihelpersHtml; 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头部引入 appcomponentsHelloWidget 命名空间
Controller: SiteController.php
<?php .......... class SiteController extends Controller { ........... public function actionCreatewidget(){ return $this->render('hellowidget'); } ........... } ?>
View: site/hellowidget.php
<?php use appcomponentsHelloWidget; ?> <?= HelloWidget2::widget(['message' => ' Yii2.0']) ?>
OUTPUT
Welcome Yii2.0