Question

How can i add jQuery to my page in Yii 2.0?

In Yii 1.x you could just use:

Yii::app()->clientScript->registerCoreScript('jquery');

I already tried to override the View class with my own and tried to register jQuery there, but it doesn't shows up in my html page:

namespace frontend\components;

/**
 * This is the base view object, it extends the yii\web\View so you can add custom view stuff here.
 */

class BaseView extends \yii\web\View {


    public function init()
    {

        parent::init();
        \yii\web\JqueryAsset::register($this);

    }


}
Was it helpful?

Solution 2

Solved! I forgot to put the view methods in my view file: ($this->beginBody() and so on)

OTHER TIPS

You use the right way of registering jquery I suppose. But also base Yii 2.0 view class automatically register jquery if you register at least one js with position = POS_READY, for example (inside the view):

$this->registerJs($js, \yii\base\View::POS_READY);

or inside any controller or widget:

$this->getView()->registerJs($js, \yii\base\View::POS_READY);

so if you use any javascript code or file (you use it, beacause of you need jquery) you can get rid of that JqueryAsset at all.

If you want to include a js file from controller you may also use this

 public function actionIndex() {
    $this->getView()->registerJsFile('js/fileinput.js');

            return $this->render('index', [
                        'model' => $model,
            ]);
}

Please view this link if you want more detail

http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top