Первая загрузка файлов и компонента

master v3.2.0-r0
parent ac9081c4e7
commit 8b0f58dc60
  1. 3
      .gitignore
  2. 62
      README.md
  3. 161
      protected/components/AdminLteComponent.php
  4. 53012
      public/css/adminlte-3.2.0/adminlte.css
  5. 12
      public/css/adminlte-3.2.0/adminlte.min.css
  6. 3069
      public/js/adminlte-3.2.0/adminlte.js
  7. 7
      public/js/adminlte-3.2.0/adminlte.min.js

3
.gitignore vendored

@ -101,6 +101,9 @@ GitHub.sublime-settings
!.vscode/extensions.json
!.vscode/*.code-snippets
# Workspaces
*.code-workspace
# Local History for Visual Studio Code
.history/

@ -1,7 +1,59 @@
# yii1-component-adminlte3
Простой компонент для yii-1 для регистрации adminlte v3.x.
Сама библиотека тоже присутствует.
Расположение - рекомендованное для проектов на yii-1.
Простой компонент для yii-1 для регистрации adminlte v3.x.
Сама библиотека тоже присутствует.
Расположение - рекомендованное для проектов на yii-1.
## Пример подключения
Выгружаем компонент в protected/extensions/.
В файле config/main.php:
```php
// application components
'components' => array(
...
'adminlte' => array(
'class' => 'ext.yii1-component-adminlte3.protected.components.AdminLteComponent',
/* доступные параметры */
/*
'debug' => false, // bool, вкл-выкл подключение минифицированных версий js
'cdn' => false, // bool, включает использование cdn (cloudflare)
'position' => CClientScript::POS_END, // int, где разместить скрипт
// - CClientScript::POS_HEAD - после title
// - CClientScript::POS_BEGIN - в начале body
// - CClientScript::POS_END - в конце body
'async' => false, // bool, вкл-выкл асинхронную загрузку
'defer' => false, // bool, вкл-выкл асинхронную загрузку, запустить после разбора страницы
'localUrlJs' => '/js/adminlte-{version}',
'localUrlCss' => '/css/adminlte-{version}',
// string, ссылка на локальные файлы в document_root
'cdnUrlJs' => 'https://cdnjs.cloudflare.com/ajax/libs/admin-lte/{version}/js',
'cdnUrlCss' => 'https://cdnjs.cloudflare.com/ajax/libs/admin-lte/{version}/css',
// string, ссылка на путь в cdn. по-умолчанию заменяется {version} на версию библиотеки.
'commonJs' => 'adminlte.js'
// string, название файла библиотеки
'commonCss' => 'adminlte.css'
// string, название файла библиотеки
*/
),
...
),
```
## Пример использования
В коде view, или в начале layouts/main.php:
```php
Yii::app()->adminlte->register();
```

@ -0,0 +1,161 @@
<?php
/**
* Простой помошник регистрации adminlte v3.x
*/
/**
* Вывод скрипта и стилей
*/
class AdminLteComponent extends CApplicationComponent
{
const VERSION = '3.2.0';
// Global options
public $debug = null; // null == авто-режим,
// false - использовать .min.js файлы,
// true - использовать несжатые файлы
public $cdn = false; // bool, использовать cdn
public $position = CClientScript::POS_END; // int, где разместить скрипт
public $async = false; // bool, использовать асинхронную загрузку
public $defer = false; // bool, использовать асинхронную загрузку, запустить после разбора страницы
public $localUrlJs = 'js/adminlte-{version}'; // string, локальная ссылка, относительно публичного каталога document_root
public $localUrlCss = 'css/adminlte-{version}'; // string, локальная ссылка, относительно публичного каталога document_root
public $cdnUrlJs = 'https://cdnjs.cloudflare.com/ajax/libs/admin-lte/{version}/js';
public $cdnUrlCss = 'https://cdnjs.cloudflare.com/ajax/libs/admin-lte/{version}/css';
// string, ссылка на CDN
public $commonJs = 'adminlte.js'; // string, название файла библиотеки
public $commonCss = 'adminlte.css'; // string, название файла стилей
private $_registered = array();
public function init()
{
$this->cdnUrlJs = str_replace('{version}', self::VERSION, $this->cdnUrlJs);
$this->cdnUrlCss = str_replace('{version}', self::VERSION, $this->cdnUrlCss);
$this->localUrlJs = str_replace('{version}', self::VERSION, $this->localUrlJs);
$this->localUrlCss = str_replace('{version}', self::VERSION, $this->localUrlCss);
if ($this->debug === null) {
if (defined('YII_DEBUG') && YII_DEBUG === true) {
$this->debug = true;
}
if (defined('YII_ENV') && YII_ENV == 'dev') {
$this->debug = true;
}
if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'dev') {
$this->debug = true;
}
}
if ($this->debug === null) {
$this->debug = false;
}
parent::init();
}
public function powered()
{
return '<a href="https://github.com/ColorlibHQ/AdminLTE/releases">AdminLTE</a>';
}
public function getVersion()
{
return self::VERSION;
}
protected function _getUrlJs($jsFile)
{
if ($this->cdn) {
$url = $this->cdnUrlJs;
} else {
$url = Yii::app()->getAssetManager()->publish(dirname(dirname(__DIR__)).'/public/'.$this->localUrlJs, false, -1);
}
if ($this->debug === false) {
if (strpos($jsFile, '.min.js') === false) {
$jsFile = str_replace('.js', '.min.js', $jsFile);
}
}
$url .= '/' . $jsFile;
return $url;
}
protected function _getUrlCss($cssFile)
{
if ($this->cdn) {
$url = $this->cdnUrlCss;
} else {
$url = Yii::app()->getAssetManager()->publish(dirname(dirname(__DIR__)).'/public/'.$this->localUrlCss, false, -1);
}
if ($this->debug === false) {
if (strpos($cssFile, '.min.css') === false) {
$cssFile = str_replace('.css', '.min.css', $cssFile);
}
}
$url .= '/' . $cssFile;
return $url;
}
protected function _registerJs($jsFile)
{
if (empty($this->_registered[$jsFile])) {
$options = array();
if ($this->async) $options['async'] = true;
if ($this->defer) $options['defer'] = true;
$url = $this->_getUrlJs($jsFile);
$cs = Yii::app()->clientScript;
$cs->registerScriptFile(
$url,
$this->position,
$options
);
$this->_registered[$jsFile] = true;
}
}
protected function _registerCss($cssFile)
{
if (empty($this->_registered[$cssFile])) {
$options = array();
if ($this->async) {
$options['onload'] = "time.media='all'";
}
$url = $this->_getUrlCss($cssFile);
$cs = Yii::app()->clientScript;
/** @var CClientScript $cs */
$cs->registerLinkTag(
'stylesheet', 'text/css',
$url,
$this->async ? 'print' : null,
$options
);
$this->_registered[$cssFile] = true;
}
}
public function register()
{
$this->_registerJs($this->commonJs);
$this->_registerCss($this->commonCss);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save