Добавить jquery в Yii 2.0

Как я могу добавить jQuery на свою страницу в Yii 2.0?

В Yii 1.x вы можете просто использовать:

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

Я уже пытался переопределить класс View своим собственным и попытался зарегистрировать там jQuery, но он не отображается на моей html-странице:

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);

    }


}

person davey    schedule 03.12.2013    source источник


Ответы (3)


Я полагаю, вы используете правильный способ регистрации jquery. Но также базовый класс представления Yii 2.0 автоматически регистрирует jquery, если вы регистрируете хотя бы один js с position = POS_READY, например (внутри представления):

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

или внутри любого контроллера или виджета:

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

поэтому, если вы используете какой-либо код или файл javascript (вы используете его, потому что вам нужен jquery), вы можете вообще избавиться от этого JqueryAsset.

person V G    schedule 03.12.2013
comment
Да, спасибо! Это сработало так, смотрите мой ответ ;-) я забыл поместить методы представления в свое представление. - person davey; 03.12.2013
comment
Должно быть \yii\web\View::POS_READY. (может поменяли в альфа обновлении?) - person d.raev; 14.01.2015

Решено! Я забыл поместить методы представления в свой файл представления: ($this->beginBody() и т. д.)

person davey    schedule 03.12.2013
comment
Это в файле макета main.php? - person Kshitiz; 25.06.2014

Если вы хотите включить файл js из контроллера, вы также можете использовать это

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

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

Пожалуйста, просмотрите эту ссылку, если вы хотите получить более подробную информацию

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

person Ankit Aranya    schedule 25.01.2015