registerJsFile ajax

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

registerJsFile ajax

Сообщение penwon »

Здравствуйте. Пишу во вью следющий код

Код: Выделить всё

$this->registerJsFile('assets/calc.js',['@app\assets\AppAsset']); 
calc.js лежит в assets (тот, который рядом с controllers, models)
Содержимое calc.js:

Код: Выделить всё

$(document).ready(function(){
    alert('ready');
}); 
При загрузке страницы js не подгружается, в консоли браузера 404 по пути с файлом скрипта. Что я делаю не так? Как правильно пользоваться функцией registerJsFile ? В каком каталоге должны лежать файлы с яваскриптом?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: registerJsFile ajax

Сообщение zelenin »

укажите корректный путь до файла
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: registerJsFile ajax

Сообщение penwon »

zelenin писал(а):укажите корректный путь до файла
Так я и спрашиваю, какой путь должен быть у файла? По правилам, так сказать.
Сейчас
calc.js лежит в assets (тот, который рядом с controllers, models)
. А где он вообще должен быть и как правильно указать путь к нему?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: registerJsFile ajax

Сообщение zelenin »

penwon писал(а):
zelenin писал(а):укажите корректный путь до файла
Так я и спрашиваю, какой путь должен быть у файла? По правилам, так сказать.
Сейчас
calc.js лежит в assets (тот, который рядом с controllers, models)
. А где он вообще должен быть и как правильно указать путь к нему?
судя по документации это должен быть урл
https://github.com/yiisoft/yii2/blob/ma ... w.php#L436
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: registerJsFile ajax

Сообщение penwon »

Вижу, но тогда мне нужно ложить файлы со скриптом в /web/assets ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: registerJsFile ajax

Сообщение zelenin »

penwon писал(а):Вижу, но тогда мне нужно ложить файлы со скриптом в /web/assets ?
куда хотите, где он будет доступен по урлу - относительному или абсолютному.
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: registerJsFile ajax

Сообщение penwon »

zelenin писал(а):
penwon писал(а):Вижу, но тогда мне нужно ложить файлы со скриптом в /web/assets ?
куда хотите, где он будет доступен по урлу - относительному или абсолютному.
Т.е. в данном случае нет т.н. best practices?
Аватара пользователя
mihail_dev
Сообщения: 243
Зарегистрирован: 2013.07.17, 00:51
Откуда: Молдова
Контактная информация:

Re: registerJsFile ajax

Сообщение mihail_dev »

есть best practices
1) вариант создать свой AssetBundle тогда никаких путей не над писать никуда проcто MyAssets::register($this);
2) вариант $this->registerJsFile(Yii::$app->assetManager->publish('@app/assets/calc.js'), ['app\assets\AppAsset']);
Изображение
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: registerJsFile ajax

Сообщение penwon »

mihail_dev писал(а):есть best practices
1) вариант создать свой AssetBundle тогда никаких путей не над писать никуда проcто MyAssets::register($this);
2) вариант $this->registerJsFile(Yii::$app->assetManager->publish('@app/assets/calc.js'), ['app\assets\AppAsset']);
Я так понимаю, второй вариант написан на основе знаний о первом йии? Им я и воспользовался, слегка модифицировав.
А первый вариант
MyAssets::register($this);
нужно вставить во вью?
astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

Re: registerJsFile ajax

Сообщение astronin »

penwon писал(а):
mihail_dev писал(а):есть best practices
1) вариант создать свой AssetBundle тогда никаких путей не над писать никуда проcто MyAssets::register($this);
2) вариант $this->registerJsFile(Yii::$app->assetManager->publish('@app/assets/calc.js'), ['app\assets\AppAsset']);
Я так понимаю, второй вариант написан на основе знаний о первом йии? Им я и воспользовался, слегка модифицировав.
А первый вариант
MyAssets::register($this);
нужно вставить во вью?
проявите хоть немного любопытства к документации и к просмотру исходников
http://stuff.cebe.cc/yii2docs/yii-web-a ... r()-detail
Ответить