Laravel-AdminLTEインストール

Mar 15, 2025 - 14:02
Mar 31, 2025 - 14:04
 0  2
Laravel-AdminLTEインストール

一般的なLaravel-AdminLTEインストール

インストールは簡単です。
以下の2つコマンドを実行すればOKです。

composer require jeroennoten/laravel-adminlte
php artisan adminlte:install

※Laravel AdminLTEとlivewireは、こちらをご覧ください。

ダッシュボードを表示してみる

詳しいことが知りたい場合は、Wikに方法が書かれていますので参考にしてください。

resources/viewsindex.blade.php

にWikiに記載の通り書いてみるとダッシュボードが作成されます。

[resources/views/index.blade.php]

@extends('adminlte::page')

以下の一行

@extends('adminlte::page')

でpage.blade.phpを表示することができます。

カスタマイズしてみる

config/adminlte.php

の設定を変更することでカスタマイズできます。

[config/adminlte.php]

    'logo' => 'ロゴだよ',

と変更をすれば、左上のロゴに適応されます。

こんなふうにサイドバーをスクロールさせるか、なども簡単に設定できます。

よく使用されるのは、サイドバー、ヘッダーの項目だと思うので、
その項目を制御するMenu Configuration項目について見てみます。

今回は、

  • サイドバーに、「設定」と名前の入ったタイトルと、その下に一覧へのリンク
  • 右上にログアウト

を作ってみました。

[config/adminlte.php]

    'menu' => [
        // Navbar items:
        // 追加:ログアウト
        [
            'text'    => 'user.setting',
            'icon'    => 'fas fa-fw fa-user',
            'topnav_right' => true, // trueに設定するだけで、sidebarではなくtopnavに表示できます, 位置も指定できます
            'submenu' => [ // submenuに設定をすれば、階層構造になり、ドロップダウン式で項目が選択できるようになります。
                [
                    'text' => 'user.logout',
                    'url'  => '/logout',
                ],
            ],
        ],
        // Sidebar items:
        [
            'text'        => 'pages',
            'url'         => 'admin/pages',
            'icon'        => 'far fa-fw fa-file',
            'label'       => 'label',
            'label_color' => 'success',
        ],

        // 追加:管理者設定
        ['header' => '管理者設定'], // このように直で文字を指定できます
        [
            'text' => '管理者一覧', // このように直で文字を指定できます
            'url' => '/admins',
            // 'can' => ['admin'], // Middleware、Gateを設定すれば、ユーザーの権限によって表示の切り替えができます
            'icon_color' => 'pink',
        ],
        // 追加:同じ管理者設定
        ['header' => 'admin.setting'], // menu.php で変数を指定することで、設定もできます
        [
            'text' => 'admin.index', // menu.php で変数を指定することで、設定もできます
            'url' => '/admins',
            // 'can' => ['admin'],
            'icon_color' => 'pink',
        ],
    ],

[resouces/lang/ja/menu.php]

 'メインメニュー',
    'blog'                          => 'ブログ',
    'pages'                         => 'ページ',
    'account_settings'              => 'アカウント設定',
    'profile'                       => 'プロフィール',
    'change_password'               => 'パスワード変更',
    'multilevel'                    => 'マルチ階層',
    'level_one'                     => '階層 1',
    'level_two'                     => '階層 2',
    'level_three'                   => '階層 3',
    'labels'                        => 'ラベル',
    'important'                     => '重要',
    'warning'                       => '警告',
    'information'                   => 'インフォメーション',

    // 追加
    'admin' => [
        'setting' => __('models/admins.admin') . '設定',
        'index' => __('models/admins.admin') . '一覧',
    ],

    'user' => [
        'setting' => 'ユーザー設定',
        'logout' => 'ログアウト'
    ],
];

※ デフォルトでは、

lang/vendor/adminlte/menu.php

 です。

 resouces/lang/ja/menu.php

に移動して使用しています。

[resources/lang/ja/models/admins.php]

 '管理者',
];

submenuや、routeの指定、icon、権限での表示切り替えなど
この配列に追加するだけで設定ができるなんて、とても便利でした。

ここでちょっと時間がかかってしまったことは、

__('models/admins.admin')

などの設定した変数を呼びたい時、

config/adminlte.php 

で指定することはできず、

resouces/lang/ja/menu.php 

で指定しないといけないことでした。

Bladeコンポーネントでも使ってみる

さらに、よく使うものをこのプラグインのモーダルやボタンを使用してコンポーネントを作ってみました。

モーダルも例がたくさんあり、こちらをちょっと変更するだけで、とても綺麗なものが完成します。

一つとして、削除ボタンを作ってみました。

作成したコンポーネントはこちらです。
メッセージ内容や、ボタンの位置などは調整しました。

[resources/views/components/buttons/delete.blade.php]

削除ボタンを設置したい場所では、この1行を指定するだけで良くなります。

[resources/views/index.blade.php]

 

ボタンを変更したいなというときは、これを編集するだけで、使用箇所全てに適応できるのでコンポーネント化する便利さが確認できると思います。
なお、コンポーネントを色々作る時も、Laravel-Adminlteのコードを見て参考にしてください。