yii2——自定义widget

 

如何使用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
原文地址:https://www.cnblogs.com/shaoyikai/p/5078345.html