Ответ 1
Решено! Я забыл поместить методы представления в свой файл вида: ($this->beginBody()
и т.д.)
Как добавить 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);
}
}
Решено! Я забыл поместить методы представления в свой файл вида: ($this->beginBody()
и т.д.)
Вы используете правильный способ регистрации jquery, я полагаю. Но также базовый класс представления Yii 2.0 автоматически регистрирует jquery, если вы зарегистрируете хотя бы один js с позицией = POS_READY, например (внутри представления):
$this->registerJs($js, \yii\base\View::POS_READY);
или внутри любого контроллера или виджета:
$this->getView()->registerJs($js, \yii\base\View::POS_READY);
поэтому, если вы используете какой-либо код или файл javascript (вы используете его, потому что вам нужен jquery), вы можете вообще избавиться от этого JqueryAsset.
Если вы хотите включить файл 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