我正在尝试开发一个自定义小部件,但我遇到了障碍。我有一些需要包含的第三方 JS/CSS 文件,但无论出于何种原因,Yii2 都不会注册它们。我已经遵循了 Yii2 文档中的所有内容,但似乎一无所获。我的目录结构如下:
组件
- DildenFeedback.php
- DildenFeedbackAsset.php -views
/
--feedback.php -assets
/
--feedback.min.js
--feedback.min.css
DildenFeedback.php(小部件类)
<?php
namespace app\components\yii2feedbackwidget;
use Yii;
use yii\base\Widget;
use app\components\yii2feedbackwidget\DildenFeedbackAsset;
class DildenFeedback extends Widget
{
public function run() {
parent::run();
DildenFeedbackAsset::register($this->view);
return $this->render('feedback');
}
}
DildenFeedbackAsset.php(小部件资产类)
<?php
namespace app\components\yii2feedbackwidget;
use yii\web\AssetBundle;
class DildenFeedbackAsset extends AssetBundle {
public $sourcePath = 'assets/';
public $css = ['assets/feedback.min.css'];
public $js = ['assets/feedback.min.js'];
public $depends = ['yii\web\JqueryAsset'];
}
反馈视图
?>
<script type="text/javascript">
$.feedback();
</script>
views/layouts/main.php(我试图调用的主模板)
<?php $this->endBody() ?>
<?php
echo DildenFeedback::widget();
?>
所以当我去检查页面时,feedback.min.js/css 无处可寻。视图文件正确呈现,但我的猜测是我的 AssetBundle 格式不正确。任何帮助将非常感激。
编辑(来自 Yii 调试器资产):
sourcePath /var/www/public/components/yii2feedbackwidget/assets
basePath /var/www/public/web/assets/7e80049a baseUrl
/assets/7e80049a
css assets/feedback.min.css
js assets /feedback.min.js
依赖于 yii\web\JqueryAsset
编辑 2 我在全新安装的 Yii2 上对此进行了测试,我得到了同样的错误。