Backend UI for Yii2 Framework, based on AdminLTE
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.
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"
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.
When upgrading please see the AdminLTE upgrade guide for adjustments you need to make in your views.
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.
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.
vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app
(or other theme) to @app/views
.view
configuration from your application by deleting the path mappings, if you have made them before.vendor/almasaeed2010/adminlte/pages
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.
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>
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
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',
]
]
],
];
}
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
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.