首页 > 解决方案 > Yii2 和 Materialise CSS

问题描述

我已经梳理了互联网和这个网站,但是,我找不到我的问题的答案。如本网站所述,我已经通过 composer 安装了 Materializecss: https ://github.com/MacGyer/yii2-materializecss

我在 /vendor 目录中有 macgyer 文件夹。我正在使用高级模板。

然后,我使用以下代码在目录 /frontend/assets/ 中创建了一个名为 MaterializeAsset.php 的资产文件

namespace frontend\assets;

use yii\web\AssetBundle;

/**
 * Main frontend application asset bundle.
 */
class MaterializeAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
    ];
    public $js = [
    ];
    public $depends = [
        'macgyer/yii2materializecss/assets/MaterializeAsset',
    ];
}

然后我修改了main.php中的资产注册代码,位于目录:\frontend\views\layouts\main.php,如下:

use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
//use frontend\assets\AppAsset;
use frontend\assets\MaterializeAsset;
use common\widgets\Alert;

//AppAsset::register($this);
MaterializeAsset::register($this);

现在,当我加载我的网站时,出现错误:ReflectionException Class macgyer/yii2materializecss/assets/MaterializeAsset does not exits

我真的不确定发生了什么,任何帮助将不胜感激。谢谢

标签: phpyii2materializeyii2-advanced-app

解决方案


您使用了不正确的类名$depends- 它应该包含\而不是/

public $depends = [
    'macgyer\yii2materializecss\assets\MaterializeAsset',
];

或者

public $depends = [
    \macgyer\yii2materializecss\assets\MaterializeAsset::class,
];

推荐阅读