How do I register file css on yii2 in controller

My AppAsset


class AppAsset extends AssetBundle

{

    public $basePath = '@webroot';

    public $baseUrl = '@web';

    public $js = [

    ];

    public $depends = [

        'yii\web\YiiAsset',

        'yii\bootstrap\BootstrapAsset',

    ];

}

My Main Controller


class MainController extends \yii\base\Controller {


    public function init()

    {

        parent::init();

    }


    public function beforeAction($action) { 

        if(Yii::$app->request->get('site')) {

            // add css/layout.css

        }


        return parent::beforeAction($action);

    }


    public function actionErro()

    {

        return $this->render('erro');

    }    


}

I need to add the css in beforeAction($action) method with yii2.

Thanks!

Css file shouldn’t put it in Controller layer;

You may try to add it in new layout;

Create new layout and add css file,and then specify layout file;

Your AppAsset new.php:





class AppAsset extends AssetBundle

{

    public $basePath = '@webroot';

    public $baseUrl = '@web';

    public $js = [

    ];

    public $css =[

      'css/layout.css',

    ];

    public $depends = [

       

    ];

}




Your Main Controller




class MainController extends \yii\web\Controller {


   //add css and others


    public $layout = 'new';


    public function init()

    {

        parent::init();

    }


    public function beforeAction($action) { 

       // this is action for RBAC and others

    }


    public function actionErro()

    {

        return $this->render('erro');

    }    


}




My english is not good; :unsure: