Skip to content

meysampg/yii2-treeview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yii2 Treeview

🟥⚠️ THIS PACKAGE IS ABANDONED. PLEASE SELECT ANOTHER PACKAGE OR FORK THIS REPOSITRY AND INFORM ME ON p.g.meysam [at] gmail [dot] com TO REFFER TO YOUR PACKAGE IN PACKAGIST ⚠️🟥

A Bootstrap Treeview Generator for AdminLte Sidebar

Description

It's just an extended version of yii\bootstrap\Nav for generating proper code for sidebar of AdminLte with support of badgets.

Installation

The preferred way to install this extension is through composer.

Either run

composer require meysampg/yii2-treeview "*"

or add

"meysampg/yii2-treeview": "*"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by:

use meysampg\treeview\Treeview;

and use it on your code by

<!-- sidebar menu: : style can be found in sidebar.less -->
<?= Treeview::widget([
    'items' => [
      [
          'label' => Yii::t('app', 'Dashboard'),
          'icon' => 'fa fa-dashboard',
          'url' => Url::home(),
      ],
      [
          'label' => Yii::t('app', 'Messages'),
          'icon' => 'fa fa-envelope',
          'items' => [
              [
                  'label' => Yii::t('app', 'Inbox'),
                  'url' => ['/message/inbox'],
              ],
              [
                  'label' => Yii::t('app', 'Outbox'),
                  'url' => ['/message/outbox'],
              ],
              [
                  'label' => Yii::t('app', 'Create'),
                  'url' => ['/message/create'],
              ],
          ],
      ],
    ]
]) ?>

And simply output is what is needed:

dashboard_lte

Examples

H‍‍‍ere is a RTL example:

<!-- sidebar menu: : style can be found in sidebar.less -->
<?= Treeview::widget([
    'items' => [
        [
            'label' => 'داشبورد',
            'icon' => 'fa fa-dashboard',
            'url' => Url::home(),
        ],
        [
            'label' => 'پیام‌ها',
            'icon' => 'fa fa-envelope',
            'items' => [
                [
                    'label' => 'صندوق ورودی',
                    'url' => ['/message/inbox'],
                    'badget' => [
                        'text' => 4,
                        'color' => 'label-info',
                        'float' => 'left',
                    ],
                ],
                [
                    'label' => 'صندوق خروجی',
                    'url' => ['/message/outbox'],
                ],
                [
                    'label' => 'ایجاد پیام',
                    'url' => ['/message/create'],
                ],
            ],
        ],
    ]
]) ?>

dashboard_lte_rtl

and a LTR example:

<!-- sidebar menu: : style can be found in sidebar.less -->
<?= Treeview::widget([
    'items' => [
        [
            'label' => 'Dashboard',
            'icon' => 'fa fa-dashboard',
            'url' => Url::home(),
        ],
        [
            'label' => 'Message',
            'icon' => 'fa fa-envelope',
            'items' => [
                [
                    'label' => 'Inbox',
                    'url' => ['/message/inbox'],
                    'badget' => [
                        'text' => 4,
                        'color' => 'label-info',
                    ],
                ],
                [
                    'label' => 'Outbox',
                    'url' => ['/message/outbox'],
                ],
                [
                    'label' => 'Create',
                    'url' => ['/message/create'],
                ],
            ],
        ],
    ]
]) ?>

dashboard_lte_ltr

Configuration

There is no much configuration for this extension. Just it's needed to send an array of sidebar items to items property of Treeview. Also for color property of badget It can be a CSS class with color, for continence you can use this values:

  • label-default
  • label-success
  • label-info
  • label-danger
  • label-warning

Contribution

Report bugs, request a feature or do your modification and send a pull request :).