用于registerCssFile的Yii2供应商URL

时间:2016-11-29 22:23:43

标签: php url yii yii2 vendor

我尝试制作Yii2扩展名,只想在扩展程序文件夹中注册一个css文件。

Css文件目录是:Object reference not set to an instance of an object

我必须使用registerCssFile函数。

project_folder\vendor\extension-ven\extension-name\assets\css\main.css

我必须在registerCssFile函数中写入url。我无法使用别名public void registerCssFile ( $url, $options = [], $key = null )

我是否使用别名的方法,但给我一个供应商网址?

由于

1 个答案:

答案 0 :(得分:1)

建议的方法是:

  1. 使用Assetjs文件为扩展程序准备css课程。 Example here
  2. 指向资产文件夹的内部添加sourcePath属性(删除basePathbaseUrl属性)。

    public $sourcePath = '@vendor/extension-ven/extension-name/assets';
    
  3. 在您的扩展程序类中注册您的Asset课程(即如果这是Widget,您可以使用run()方法执行此操作;这假设您的扩展程序实现了ViewContextInterface }接口,如Widget class)。

    YourAssetName::register($this->view);
    
  4. 调用扩展程序时,所有资产文件都会自动从源文件夹复制到公共assets文件夹中的web文件夹。