Assets в Модуле

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
mat.twg
Сообщения: 210
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Assets в Модуле

Сообщение mat.twg » 2014.11.05, 13:33

Всем привет!

Подскажите как правильно работать с Assets, логика простая:

Есть модуль, в нём папка Assets, в ней много чего... не суть.

1. Я хочу подгружать во вью файле определённый скрипт из этой папки (опубликованной конечно)

Всё что я не делал возвращает мне неправильный путь Assets либо постоянно меняющийся, но тоже неправильный.

mickgeek
Сообщения: 957
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

Re: Assets в Модуле

Сообщение mickgeek » 2014.11.05, 13:42

Например, так.

MainAsset:

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

namespace frontend\modules\main;
use yii\web\AssetBundle;

class MainAsset extends AssetBundle
{
    public $sourcePath = '@app/modules/main/assets';
    public $css = [
        'css/main.css',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}
View:

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

<?php
use yii\helpers\Html;
use frontend\modules\main\MainAsset;

$bundle = MainAsset::register($this);
?>

<?= Html::img($bundle->baseUrl . '/img/test.png') ?>

Аватара пользователя
mat.twg
Сообщения: 210
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: Assets в Модуле

Сообщение mat.twg » 2014.11.07, 09:35

Спасибо!

ps:

Для того чтобы файлы грузились в правильной последовательности, например js после jquery:

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

//view
$this->registerJsFile($bundle->baseUrl.'/js/template.js',['depends'=>'yii\web\JqueryAsset']);

Ответить