検索
ホームページPHPフレームワークLaravelLaravel 開発: Laravel Nova と AdminLTE を使用してバックエンド管理インターフェイスを生成する方法?

最新の Web アプリケーションでは、管理インターフェイスは考慮する必要がある重要な部分です。直感的で使いやすく、機能が豊富である必要があります。この目標を達成するために、Laravel は Laravel Nova と AdminLTE という 2 つのフレームワークを提供します。

Laravel Nova は、Laravel アプリケーションの管理パネルを数分で生成できる Laravel の管理パネルです。 Laravel Nova は美しい UI、ユーザー管理、CMS などを備えており、開発者は複雑なアプリケーションをより迅速かつ簡単に作成できます。

一方、AdminLTE は無料のバックエンド管理テンプレートであり、優れたユーザー インターフェイスと必要な JavaScript ライブラリも提供します。 Bootstrap CSS フレームワークに基づいており、応答性も優れています。 AdminLTE をローカルに展開してホストし、高速でカスタマイズ可能な管理インターフェイスを実現できます。

この記事では、Laravel NovaとAdminLTEを使って美しい管理インターフェースを生成する方法を紹介します。

ステップ 1: Laravel Nova をインストールする

Laravel Nova を使用して管理パネルを作成するには、まず Laravel Nova をインストールする必要があります。インストールを完了するには、以下の手順に従ってください:

  1. Laravel アプリケーションで、次のコマンドを使用して Nova をインストールします: composer require laravel/nova.
  2. ##config/app.php ファイルを変更し、次の行を providers 配列に追加します: LaravelNovaNovaServiceProvider::class.
  3. Nova のルートを登録します。 users で、
  4. app/Providers/NovaServiceProvider.php ファイルを開き、次のメソッドを追加します。
  5. use LaravelNovaNova;
    
    protected function routes()
    {
        Nova::routes()
            ->withAuthenticationRoutes()
            ->withPasswordResetRoutes()
            ->register();
    }
ステップ 2: Nova リソースを作成する

Laravel Nova で、リソースはデータベース モデルと対話するために使用されます。リソースを作成するには、次のコマンドを実行します。

php artisan nova:resource {resourceName}

これにより、

app/Nova ディレクトリにリソース クラスが作成されます。リソース クラスでは、リソース データの管理および表示方法を定義します。たとえば、次のコードは、User リソースを表示する方法を定義します。

namespace AppNova;

use LaravelNovaResource;
use LaravelNovaFieldsID;
use LaravelNovaFieldsText;
use LaravelNovaFieldsGravatar;

class User extends Resource
{
    /**
     * The model the resource corresponds to.
     *
     * @var string
     */
    public static $model = 'App\User';

    /**
     * Get the displayable label of the resource.
     *
     * @return string
     */
    public static function label()
    {
        return __('Users');
    }

    /**
     * Get the displayable singular label of the resource.
     *
     * @return string
     */
    public static function singularLabel()
    {
        return __('User');
    }

    /**
     * Get the fields displayed by the resource.
     *
     * @param  IlluminateHttpRequest  $request
     * @return array
     */
    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            Gravatar::make(),
            Text::make('Name')->sortable(),
            Text::make('Email')->sortable(),
        ];
    }
}

ステップ 3: Nova リソースを登録します。

以下を resource/assets/js/ に追加します。 app.js:

import Nova from './vendor/laravel/nova/Nova.js';

Nova.booting((Vue, router, store) => {
    router.addRoutes([
        {
            name: 'nova',
            path: '/nova',
            component: require('./views/Nova'),
        },
    ])
})

Laravel が Nova にアクセスできるようにルートを追加します:

Route::get('/nova', function () {
    return view('nova');
});

最後に、webpack.mix.js ファイルに以下を追加します:

    mix.js('resources/js/app.js', 'public/js')
        .sass('resources/sass/app.scss', 'public/css')
        .sourceMaps();

    if (mix.inProduction()) {
        mix.version();
    }

ステップ4: AdminLTE と Nova Mix を使用する

これで、Laravel Nova がインストールされ、Nova リソースが作成されました。次のステップでは、AdminLTE スタイルシートと JavaScript ライブラリを Nova リソースに追加して、AdminLTE スタイルを備えたカスタム管理パネルを作成します。

    AdminLTE をダウンロードし、
  1. public ディレクトリに抽出します。ダウンロード リンクは次のとおりです: https://adminlte.io/themes/dev/AdminLTE/
  2. 管理パネルを表示する新しいビューを作成します。
  3. /nova のルートに表示されます。
  4. 現在のテンプレートに基づいて、
  5. nova.blade.php ファイルを作成し、次の内容をファイルに挿入します。 new ビューの body タグに次のコンテンツを含めます:
  6. <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compati ble" content="ie=edge">
        <title>{{ config('app.name') }} - {{__('Nova')}}</title>
        <!-- Include AdminLTE CSS -->
        <link rel="stylesheet" href="/css/adminlte.css">
    </head>
    <body class="hold-transition sidebar-mini">
        <div id="app">
            <nova/>
        </div>
        <!-- Include AdminLTE and jQuery JavaScript -->
        <script src="/js/adminlte.js"></script>
        <script src="{{ asset('js/app.js') }}"></script>
    </body>
    </html>
    コンポーネント内に新しい Vue コンポーネントを作成し、
  1. Nova
  2. という名前を付けます。 Nova コンポーネントは、作成時にルーティングと関連情報を登録する必要があります:
    <div class="wrapper">
        {{-- Main navigation --}}
        <nav class="main-header navbar navbar-expand navbar-white navbar-light">
        </nav>
        {{-- Left side column. contains the logo and sidebar --}}
        <aside class="main-sidebar sidebar-dark-primary elevation-4">
        </aside>
        {{-- Content Wrapper. Contains page content --}}
        <div class="content-wrapper">
            <section class="content">
                <div class="container-fluid">
                    <div class="row">
                        <div class="col-md-12">
                            {{-- Your Nova API Resource --}}
                            {{-- Example: @resource('users') --}}
                        </div>
                    </div>
                </div>
            </section>
        </div>
        {{-- Main Footer --}}
        <footer class="main-footer">
        </footer>
    </div>
  1. nova
  2. ルーティングを処理する新しいルートを追加します。これは、対応する Vue コンポーネントを指す必要があります:
    require('./bootstrap');
        
    import Vue from 'vue';
    import Nova from './Nova';
    
    import router from './router';
    import store from './store';
    
    Vue.component('nova', Nova);
        
    const app = new Vue({
        el: '#app',
        router,
        store
    });
  1. Nova のスタイル シートと JavaScript が正常に呼び出されることを確認します。次のコマンドを使用できます。
  2. import Vue from 'vue';
    import Router from 'vue-router';
    
    import Home from './components/Home';
    import Nova from './Nova';
    
    Vue.use(Router);
    
    export default new Router({
        // ...
        {
            path: '/nova',
            name: 'nova',
            component: Nova,
        },
        // ...
    });
これで、Laravel Nova と AdminLTE が正常に混合されました。管理パネルのカスタマイズに使用します。
  1. 結論
この記事では、Laravel Nova と AdminLTE を使用して美しく柔軟な管理パネルを作成する方法を紹介しました。これらのツールを強力に組み合わせることで、複雑な機能を備えたアプリケーションを迅速に作成する方法が開発者に提供され、開発者がビジネス ニーズをより早く認識できるようになります。読者がこの記事からLaravelフレームワークについてさらに学んでいただければ幸いです。

以上がLaravel 開発: Laravel Nova と AdminLTE を使用してバックエンド管理インターフェイスを生成する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Laravelがそんなに人気があるのはなぜですか?Laravelがそんなに人気があるのはなぜですか?Apr 02, 2025 pm 02:16 PM

Laravelの人気には、単純化された開発プロセスが含まれ、快適な開発環境を提供し、豊富な機能が提供されます。 1)Rubyonrailsの設計哲学を吸収し、PHPの柔軟性を組み合わせています。 2)Eloquentorm、Bladeテンプレートエンジンなどのツールを提供して、開発効率を向上させます。 3)そのMVCアーキテクチャと依存関係噴射メカニズムにより、コードがよりモジュール化され、テスト可能になります。 4)キャッシュシステムやベストプラクティスなどの強力なデバッグツールとパフォーマンス最適化方法を提供します。

どちらが良いのか、DjangoとLaravel?どちらが良いのか、DjangoとLaravel?Mar 28, 2025 am 10:41 AM

DjangoとLaravelはどちらもフルスタックのフレームワークです。 DjangoはPython開発者や複雑なビジネスロジックに適していますが、LaravelはPHP開発者とエレガントな構文に適しています。 1.DjangoはPythonに基づいており、迅速な発展と高い並行性に適した「バッテリーコンプリート」哲学に従います。 2. LaravelはPHPに基づいており、開発者エクスペリエンスを強調しており、小規模から中規模のプロジェクトに適しています。

どちらがより良いPHPですか、それともLaravelですか?どちらがより良いPHPですか、それともLaravelですか?Mar 27, 2025 pm 05:31 PM

LaravelはPHPベースのフレームワークであるため、PHPとLaravelは直接匹敵するものではありません。 1.PHPは、シンプルで直接的であるため、小規模プロジェクトや迅速なプロトタイピングに適しています。 2。LARAVELは、豊富な機能とツールを提供するため、大規模なプロジェクトや効率的な開発に適していますが、急な学習曲線があり、純粋なPHPほど良くない場合があります。

Laravelはフロントエンドですか、それともバックエンドですか?Laravelはフロントエンドですか、それともバックエンドですか?Mar 27, 2025 pm 05:31 PM

laravelisabackendframeworkbuiltonphp、designforwebapplicationdevelopment.itfocusonserver-sidelogic、databasemanagement、およびapplicationStructure、およびbueithedendtechnologiesvue.jsorreactforfull-stackdevelymentと統合されていること。

Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか?Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 02:50 PM

この記事では、Laravelでカスタムブレードディレクティブの作成と使用を行い、テンプレートを強化します。ディレクティブの定義、テンプレートでそれらを使用し、大規模なプロジェクトでそれらを管理することをカバーし、改善されたコードの再利用性やRなどの利点を強調しています

Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか?Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか?Mar 17, 2025 pm 02:47 PM

この記事では、コンポーネントを使用してLaravelで再利用可能なUI要素の作成とカスタマイズについて説明し、組織のベストプラクティスを提供し、パッケージを強化することを提案します。

Laravelのルーティング機能を使用して、SEOに優しいURLを作成するにはどうすればよいですか?Laravelのルーティング機能を使用して、SEOに優しいURLを作成するにはどうすればよいですか?Mar 17, 2025 pm 02:43 PM

この記事では、Laravelのルーティングを使用してSEOに優しいURLを作成し、Best Practice、Canonical URL、SEO最適化のツールをカバーします。ワード数:159

Laravelの職人コンソールを使用して一般的なタスクを自動化するにはどうすればよいですか?Laravelの職人コンソールを使用して一般的なタスクを自動化するにはどうすればよいですか?Mar 17, 2025 pm 02:39 PM

Laravelの職人コンソールは、コードの生成、移行の実行、スケジューリングなどのタスクを自動化します。重要なコマンドには、Make:Controller、Migrate、およびDB:Seedが含まれます。特定のニーズに合わせてカスタムコマンドを作成し、ワークフロー効率を向上させることができます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい