Я добавил fullcalendar js/css в папку vendor/bower. Я хочу добавить это только на одну страницу.
Я прочитал об AssestBundle по этой ссылке - http://www.yiiframework.com/doc-2.0/guide-structure-assets.html
Но это добавление на всех страницах.
Я добавил fullcalendar js/css в папку vendor/bower. Я хочу добавить это только на одну страницу.
Я прочитал об AssestBundle по этой ссылке - http://www.yiiframework.com/doc-2.0/guide-structure-assets.html
Но это добавление на всех страницах.
В фреймворке Yii 2 рекомендуется использовать комплекты активов для работы с js/css. Это не ограничивается простым добавлением на все страницы. Вы можете использовать его только в конкретном представлении.
Пример набора ресурсов для JsTree
плагина:
<?php
namespace backend\assets;
use yii\web\AssetBundle;
class JsTreeAsset extends AssetBundle
{
public $sourcePath = '@bower_components/jstree/dist';
public $js = [
'jstree.min.js',
];
public $css = [
'themes/default/style.min.css',
];
public $depends = [
'yii\web\JqueryAsset',
];
}
В этом примере используется псевдоним @bower_components
, для того, чтобы он заработал, вам также необходимо зарегистрировать его в файле начальной загрузки приложения (в расширенном шаблоне приложения этот файл common/config/bootstrap.php
):
Yii::setAlias('bower_components', dirname(dirname(__DIR__)) . '/bower_components');
Затем, в представлении, где вам нужно его использовать, вызовите метод register()
этого пакета ресурсов и передайте текущее представление:
use backend\assets\JsTreeAsset;
...
JsTreeAsset::register($this);
Файлы в наборе ресурсов по умолчанию (AppAsset
), включенном в шаблоны приложений, загружаются в каждое представление, поскольку оно зарегистрировано в макете приложения, а макет применяется ко всем представлениям.