AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение SergV »

Собственно застрял с разделенем ресурсов из дефолтного AppAsset.php на отдельные.
В основном оставил только те стили и скрипты, что нужно на всех страницах сайт, а в отдельные поместил те ресурсы, что ток там нужно. Проблема заключается в последовательности. AppAsset.php регистрируется в шаблоне сайта, а свои ХххAsset.php во вьюхах приложения/модуля, и как результат из вьюх стили и скрипты грузятся первыми, а должно грузить последним.
Перечитал уже 100* раз доку по Asset'ам, перегуглил кучу сайтов, но так и не понял как правильно сменить последовательность. Вариант с - "ХххAsset::register($this,['depends' => 'app\assets\AppAsset']);" не прокатывает. Порядок отрабатывает если я в каждой вьюхе с начало повторно зарегистрирую AppAsset, а потом ХххAsset, но это костыли.

От сюда и вопрос, можно ли как стандартно поменять порядок, без регистрации AppAsset в каждой вьюхе, где это нужно.
skvarovski
Сообщения: 92
Зарегистрирован: 2015.06.15, 18:36

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение skvarovski »

привет, я использую в классе xxxAsset

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

 public $jsOptions = ['position' => \yii\web\View::POS_END];
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение SergV »

Не работате

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

public $jsOptions = ['position' => \yii\web\View::POS_END];
Так выводит в начале, как и было

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

public $jsOptions = ['position' => '\yii\web\View::POS_END'];
А в кавычках и вообще не выводит.
skvarovski
Сообщения: 92
Зарегистрирован: 2015.06.15, 18:36

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение skvarovski »

а вы надеюсь не меняли layout.php ?

там есть что-то подобное

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

<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>

и кстати код указывает явускрипту загрузку в конце
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение SergV »

Да не, все эти вставки <?php $this->endBody() ?> и прочие на месте, я знаю о их применении, все скрипты в самом низу, всё подключается, только порядок не тот вывода ресурсов из asset'ов.

Вообще, я использую $sourcePath, и если я правильно понимаю гугло перевод документации, то нужно использовать - yii\web\AssetManager::publish()
Последний раз редактировалось SergV 2017.01.23, 19:00, всего редактировалось 1 раз.
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение Loveorigami »

SergV писал(а): 2017.01.23, 17:47 Перечитал уже 100* раз доку по Asset'ам, перегуглил кучу сайтов, но так и не понял как правильно сменить последовательность. Вариант с - "ХххAsset::register($this,['depends' => 'app\assets\AppAsset']);" не прокатывает.
Прокатывает, если делать правильно.

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

namespace app\assets;

use yii\web\AssetBundle;

class AppAsset extends AssetBundle
{
    public $basePath = '@webroot'; //алиас каталога с файлами, который соответствует @web
    public $baseUrl = '@web';//Алиас пути к файлам
....
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

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

namespace app\assets;

use yii\web\AssetBundle;

class ХххAsset extends AssetBundle
{
....
    public $depends = [
        'app\assets\AppAsset',
    ];
}
там где, нужен ХххAsset. регистрируете его во вьюшке или через виджет. Он всегда подгрузится за AppAsset
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение Loveorigami »

А ваши модули, случаем, не рендерятся в другом layout, где не прописан AppAsset ?
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: AppAsset + XxxAsset - Порядок закгрузки их ресурсов?

Сообщение SergV »

Мля..., во туплю, сколько просидел эксперементируюя, а что бы в depends засунуть 'app\assets\AppAsset', не додумался.

Loveorigami, большое спасибо за подсказку
А ваши модули, случаем, не рендерятся в другом layout, где не прописан AppAsset ?
skvarovski, спасибо за помощь, вопрос уже решился, всего то надо было ... :)
Закрыто