dmstr/yii2-adminlte-asset AdminLTE backend theme asset bundle for Yii 2.0 Framework

extensionadminassetadminltecssbackendthemeless

AdminLTE Asset Bundle

Latest Stable Version Total Downloads License

Backend UI for Yii2 Framework, based on AdminLTE

"Yii2 AdminLTE Presentation"

This package contains an Asset Bundle for Yii 2.0 Framework which registers the CSS files for the AdminLTE user-interface.

The CSS files are installed via Yii's recommended usage of the fxp/composer-asset-plugin v1.1.1 or later.

Installation

The preferred way to install this extension is through composer.

To install AdminLTE v2 run:

composer require dmstr/yii2-adminlte-asset "^2.1"

To install AdminLTE v1 run:

composer require dmstr/yii2-adminlte-asset "^1"

FAQ

Web-font usage

AdminLTE dropped web-font inclusion in 2.4.0, so you need to include your desired font manually, ie.

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">

Inclusion via CDN is not recommended for production, please adjust this to your project's asset-bundling workflow.

For details see #140.

Upgrading

When upgrading please see the AdminLTE upgrade guide for adjustments you need to make in your views.

Composer installation

  • For issues with DmitryBaranovskiy/eve.git, please see #128 and #113.

Compatibility matrix

yii2-adminlte-asset AdminLTE Font Awesome
2.4 2.0 - 2.3 required
2.5 2.4 required
3.0 2.4 -

For other issues, please search GitHub first.

Quick Start

Once the extension is installed, you can have a preview by reconfiguring the path mappings of the view component:

For Yii 2 Advanced Application Template or Basic Application Template

'components' => [
    'view' => [
         'theme' => [
             'pathMap' => [
                '@app/views' => '@vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app'
             ],
         ],
    ],
],

For phd5 application

'components' => [
    'view' => [
        'theme' => [
            'pathMap' => [
                '@app/views' => '@vendor/dmstr/yii2-adminlte-asset/example-views/testing/app'
            ],
        ],
    ],
],

This asset bundle provides sample files for layout and view (see folder examples/), they are not meant to be customized directly in the vendor/ folder.

Therefore it is recommended to copy the views into your application and adjust them to your needs.

Customization

  • Copy files from vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app (or other theme) to @app/views.
  • Remove the custom view configuration from your application by deleting the path mappings, if you have made them before.
  • Edit your views adhering to html markup vendor/almasaeed2010/adminlte/pages

AdminLTE Plugins

Assets for AdminLTE plugins are not included in our AdminLteAsset but you can find these files in your vendor directory under vendor/almasaeed2010/adminlte/plugins. So if you want to use any of them we recommend to create a custom bundle where you list the plugin files you need:

use yii\web\AssetBundle;
class AdminLtePluginAsset extends AssetBundle
{
    public $sourcePath = '@vendor/almasaeed2010/adminlte/plugins';
    public $css = [
        'chart.js/Chart.min.css',
        // more plugin CSS here
    ];
    public $js = [
        'chart.js/Chart.bundle.min.js'
        // more plugin Js here
    ];
    public $depends = [
        'dmstr\adminlte\web\AdminLteAsset',
    ];
}

As this asset depends on our AdminLteAsset it's the only asset you have to register, for example in your main.php layout file.

Custom content header

If you want to use native DOM of headers AdminLTE

<h1>
    About <small>static page</small>
</h1>

then you can follow the code:

/* @var yii\web\View $this */

$this->params['breadcrumbs'][] = 'About';

$this->beginBlock('content-header'); ?>
About <small>static page</small>
<?php $this->endBlock(); ?>

<div class="site-about">
    <p> This is the About page. You may modify the following file to customize its content: </p>
    <code><?= __FILE__ ?></code>
</div>

Left sidebar menu - Widget Menu

If you need to separate sections of the menu then just add the header option to item in items

    'items' => [
        ['label' => 'Gii', 'iconType' => 'far' 'icon' => 'file-code', 'url' => ['/gii']],
        ['label' => 'Debug', 'icon' => 'dashboard-alt', 'url' => ['/debug']],
        ['label' => 'MAIN NAVIGATION', 'header' => true], // here
        // ... a group items
        ['label' => '', 'header' => true],
        // ... a group items
        ['label' => '', 'header' => true],
        // ... a group items

To add a badge for a item:

'items' => [
    [
        'label' => 'Mailbox',
        'iconType' => 'far',
        'icon' => 'envelope',
        'url' => ['/mailbox'],
        'badge' => '<span class="badge badge-info right">123</span>'
    ],
]

By default to icons will be added prefix of Font Awesome

Template for Gii CRUD generator

Tell Gii about our template. The setting is made in the config file:

if (YII_ENV_DEV) {
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        'generators' => [ // HERE
            'crud' => [
                'class' => 'yii\gii\generators\crud\Generator',
                'templates' => [
                    'adminlte' => '@vendor/dmstr/yii2-adminlte-asset/gii/templates/crud/simple',
                ]
            ]
        ],
    ];
}

Testing

Go to the tests folder and start the testing stack

cd tests
docker-compose up -d

Install yii2-adminlte-asset in the testing application

docker-compose exec php composer install

Open testing URLs in your browser

http://docker.local:20580/test
http://docker.local:20580/test/login    

Further Information

For AdminLTE documentation, please read https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html

Namespacing rules follow the Yii 2.0 framework structure, eg. dmstr\adminlte\web for the Asset Bundle.

Changelog

CHANGELOG

Unreleased (3.0)

  • updated example views, widgets and assets to AdminLTE 3
  • changed namespace to dmstr/adminlte
  • added iconClassType to Menu widget to support different types of FontAwesome 5 icons

2.6.0

  • added default options for menu (CSS classes)
  • updated test environment

2.5.0

  • updated AdminLTE constraint to ^2.4.0
  • fixed menu toggle

2.4.4

  • fixed JavaScript dependency
  • restricted AdminLTE constraint

2.4.3

  • added CRUD template

2.4.2

  • updated menu rendering

2.4.0

  • updated menu icons
  • fixed isItemActive()

2.3.4

  • added isAjaxRemoveFlash parameter

2.3.2

  • updated label & link template

2.3.1

  • use aliased AssetBundle

2.3.0

  • updated menu widget (label-template)

2.2.4

  • [FIX] fixed active menu with modules (Vasiliy Baranov)
  • [ENH] added .hold-transition

2.2.3

  • [ENH] : updated Gravatar widget E-Mail usage (@Quexer69)

2.2.2

  • fixed Menu widget selection
  • updated example views

2.2.1

  • removed the restriction to use only FA
  • added testing setup

2.2.0

  • updated Menu widget
  • updated composer dependencies

2.1.0

  • updated black ("white") default skin for phundament
  • updated default skins to be backward-compatible
  • refactored views
  • updated constraint
  • Fix #47
  • Added $skin option in AssetBundle and created Helper for selected skin class
  • Updated docs
  • changed adminlte to be loaded directly from packagist
  • Added example of mini sidebar
  • Update to AdminLTE 2.1.1

2.0.0

  • Update login.php
  • Added screenshot
  • Update example to AdminLTE v2.0.5
  • Changed line 14 main.php
  • Update Alert.php
  • Icon Placement before message

2.0.0-beta1

  • update html markup to AdminLTE v2.0 for advanced template.
  • update main.php
  • updated "rmrevin/yii2-fontawesome" revision tag
  • removed repository url
  • added fork repository url for "yii2-fontawesome"
  • updated css and js source files
  • moved "beginBody() / endBody()" methods into body tag, code formatting
  • fixed route to site index
  • fixed "Gravatar" widget "email" attribute
  • fixed "Trying to get property of non-object" added check if user is not guest

2.0.0-alpha1

  • updated README
  • Update login.php
  • Added screenshot
  • Update example to AdminLTE v2.0.5
  • Changed line 14 main.php
  • Update Alert.php
  • Icon Placement before message
  • Update html markup to AdminLTE v2.0 for advanced template.
  • Update main.php
  • updated "rmrevin/yii2-fontawesome" revision tag
  • removed repository url
  • added fork repository url for "yii2-fontawesome"
  • updated css and js source files
  • moved "beginBody() / endBody()" methods into body tag, code formatting
  • fixed route to site index
  • fixed "Gravatar" widget "email" attribute
  • fixed "Trying to get property of non-object" added check if user is not guest
  • added notice in docs
  • bumpup rmrevin/yii2-fontawesome from 2.7. to 2.8.
  • asset bundle cleanup yii\bootstrap\BootstrapPluginAsset depends already depends on yii\bootstrap\BootstrapAsset
  • updated README
  • fixed asset bundle for usage with v2, updated phundament/app example layout
  • fixed typo
  • requiring AdminLTE 2, added branch alias, fixes #18

1.1.1

  • fix notice

1.1.0

  • bumpup rmrevin/yii2-fontawesome from 2.7. to 2.8.
  • asset bundle cleanup yii\bootstrap\BootstrapPluginAsset depends already depends on yii\bootstrap\BootstrapAsset
  • updated README
  • fixed asset bundle for usage with v2, updated phundament/app example layout
  • fixed typo
  • requiring AdminLTE 2, added branch alias, fixes #18

1.0.0

  • updated README, preparing AdminLTE v1 and v2

0.2.0

  • updated version constraints
  • different structure of adminLTE with "minimum-stability" : "dev"
  • add title to header
  • added example views for yii2-basic-app

0.1.0

  • updated namespaces
  • refactored directory structure, update README, closes #5
  • added native bundle of advanced Yii2 template
  • remove duplicate aside
  • added info about fixed class and skin for AdminLTE
  • dded stylized alerts
  • correct links
  • fix url to assets bundle
  • delete dublicate folder
  • fix links to image, Move logout to header
  • delete adminLTE folder
  • add theme for Yii2 Advanced
  • update composer.json
  • fix gravatar output in main layout
  • updated default page title with app name [Backend]
  • updated example views
  • updated example menu
  • improve module detection in example view
  • fixed missing csrf token, updated menu, code-formatting
  • updated paths, added Phundament 4 template
  • update README.md
  • initial commit

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



3.0.0-beta1 is the latest of 37 releases



BSD-3-Clause license
Stats
1137 github stars & 425 github forks
832 downloads in the last day
17458 downloads in the last 30 days
1517993 total downloads