我想问一下Yii2高级模板

时间:2017-11-08 04:24:39

标签: php yii2

我在yii2高级项目中创建了一个自定义小部件

我在后端目录中创建新的目录名称组件 之后,我在组件目录名称视图

中再次创建新目录

在后端/组件中我创建了新的PHP文件名SideBWidget.php

<?php
namespace backend\components;

use yii\base\Widget;
use yii\helpers\Html;
use common\models\Content;

class SideBWidget extends Widget{

    public function run(){

        $models = Content::findAll([
            'c_pkey'=>0,
        ]);

        $this->render('sideb',[
            'model' => $models
        ]);
    }
}
?>

在backend / components / views中创建sideb.php

<div id="sidebar-nav" class="sidebar">
        <div class="sidebar-scroll">
            <nav>
                <ul class="nav">
                    <?php foreach($model as $row): ?>
                      <li><a href="#" class=""><i class="lnr lnr-alarm"></i> <span><?php echo $row->c_name; ?></span></a></li>
                    <?php endforeach; ?>
                </ul>
            </nav>
        </div>
    </div>

我在views / layout / main.php中调用这个小部件,我也使用小部件路径 使用backend \ components \ SideBWidget;

<?= SideBWidget::widget() ?>

但是当我跑的时候什么都没有,也没有错误信息。问题在哪里?

1 个答案:

答案 0 :(得分:1)

您必须在widget的run()函数中添加return语句:

return $this->render('sideb',[
    'model' => $models
]);