Yii2博客实战教程——前台页面的整合(如何自定义widget小部件)

小部件是Yii的一个非常实用的功能,各类第三方小部件可以使得整个开发变得非常的愉快,那么如果想自己开发一个小部件我们应该怎么做呢,接下来我们就讲讲如何自定义小部件。我们以博客的侧边栏为例进行讲解。

1.首先在common的widgets中创建SideBarWidget文件夹用来存放所有widget的各种文件。

2.创建一个SideBar类继承自yii\base\Widget。类中有两个重要的方法一个是init() 一个是run()相信不用我说大家也知道这两个方法是干嘛的吧。

3.创建Widget视图。一般来讲Widget可以使用两种方式展示内容。

一种是直接在用到的view里面写,形式如下

<?php SideBar::begin(); ?>

    具体的内容放里面 可以是任何html标签

<?php SideBar::end(); ?>

第二种是直接为小部件写一个单独的view,我们这里在common\widgets\SideBarWidget\views中创建一个view.php文件,然后再SideBar.php中修改run

public function run()
    { 
...获取数据用于显示
        return $this->render('view',
            [
                'category'=>$cats,
                'tags'=>$tags,
                'posts'=>$posts,
            ]);
    }<span class="redactor-invisible-space">
</span>

在使用的地方只需要优雅写上如下代码就可以欢乐的展示了

<?= SideBar::widget() ?>

最终显示效果如下


本文由 Leo's Blog 创作,采用 署名-非商业性使用 2.5 中国大陆 进行许可。
如需转载、引用请署名作者且注明文章出处。
2016年09月28日 2815 浏览 评论 YII2 widget小部件
上一篇:Yii2博客实战教程——富文本编辑器redactor的使用 | 下一篇:Yii2博客实战教程——使用缓存减少数据库访问的压力