zoukankan      html  css  js  c++  java
  • 教你在Yii2.0框架中如何创建自定义小部件

    本教程将帮助您创建自己的自定义小部件在 yii framework 2.0。部件是可重用的模块和用于视图。

    创建一个小部件,需要继承 yiiaseWidget,覆盖重写 yiiaseWidget::init() 和/或 yiiaseWidget::run() 方法.

    注意:在yii 1.x,我们将使用 widgets 的文件夹。

    在 Yii2.0 创建自己的小部件

    首先创建一个名为 widgets 的文件夹在项目根目录。现在在 widgets文件夹内创建一个“HelloWidget”类 。使用这个小部件,我们将与用户名一起显示欢迎消息。请参见下面的代码来创建一个小部件类。

    <?php
    namespace appwidgets;
    
    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() - 应该包含小部件的属性,
    run()  - 应该包含小部件的渲染结果

    HelloWidget”这个类是我们的自定义小部件。“appwidgets”是这个类的名称空间,“HelloWidget”是一个类名。使用命名空间和类名,我们可以访问这个小部件应用,即‘appwidgetsHelloWidget’。

    在Yii2.0显示小部件内容

    在视图代码中使用 appwidgetsHelloWidget 添加小部件应用。看到以下代码如何被称为小部件类。

    控制器::SiteController.php

    <?php
    ..........
    class SiteController  extends Controller
    {
        ...........
        public function actionCreatewidget()
        {
            return $this->render('hellowidget');
        }
        ...........
    }
    ?>

    视图: site/hellowidget.php

    <?php
    use appwidgetsHelloWidget;
    ?>
    <?= HelloWidget::widget(['message' => ' Yii2.0']) ?>

    输出

    Welcome Yii2.0

    参考:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/

    来源:http://www.getyii.com/topic/174

     
  • 相关阅读:
    如何实现虚拟机(VirtualBox)中的Ubuntu与Windows XP间的数据共享
    linux中安装sqlmap
    LookupError: unknown encoding: cp65001解决办法
    共勉
    Linux中安装Nginx
    touch: cannot touch `/home/tomcat7/logs/catalina.out': Permission denied
    程序猿的十一条浮躁表现
    MySQL中varchar类型排序
    Gson和FastJson
    jquery-messager-消息提示
  • 原文地址:https://www.cnblogs.com/yhdsir/p/5181962.html
Copyright © 2011-2022 走看看