我在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() ?>
但是当我跑的时候什么都没有,也没有错误信息。问题在哪里?
答案 0 :(得分:1)
您必须在widget的run()
函数中添加return语句:
return $this->render('sideb',[
'model' => $models
]);