> PHP 프레임워크 > Laravel > Laravel 개발: Laravel Nova 및 AdminLTE를 사용하여 백엔드 관리 인터페이스를 생성하는 방법은 무엇입니까?

Laravel 개발: Laravel Nova 및 AdminLTE를 사용하여 백엔드 관리 인터페이스를 생성하는 방법은 무엇입니까?

PHPz
풀어 주다: 2023-06-13 14:23:43
원래의
1588명이 탐색했습니다.

최신 웹 애플리케이션에서 관리 인터페이스는 고려해야 할 중요한 부분입니다. 직관적이고 사용하기 쉬우며 기능이 풍부해야 합니다. 이 목표를 달성하기 위해 Laravel은 Laravel Nova와 AdminLTE라는 두 가지 프레임워크를 제공합니다.

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.composer require laravel/nova.
  2. 修改 config/app.php 文件,将以下行添加到 providers 数组中:LaravelNovaNovaServiceProvider::class.
  3. 为用户注册Nova的路由,打开 app/Providers/NovaServiceProvider.php文件,添加以下方法:
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资源

在resources/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混合

现在您已经安装了Laravel Nova和创建了Nova资源。下一步是将AdminLTE样式表和JavaScript库添加到Nova资源中,以便创建具有AdminLTE样式的自定义管理面板。

  1. 下载AdminLTE并将其解压缩到 public 目录中。下面是下载链接:https://adminlte.io/themes/dev/AdminLTE/
  2. 创建一个新的视图来呈现管理面板。它将显示在/nova的路由中。
  3. 基于当前的模板,创建一个nova.blade.php文件,并将以下内容插入到文件中:
<!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>
로그인 후 복사
  1. 在新的视图中,将以下内容包含到body标签中:
<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. 在你的Conponents中创建一个新的Vue Component并命名为Nova。Nova Component在创建时需要注册路由和相关信息:
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
  2. config/app.php를 수정하세요. </ code> 파일에서 <code>providers 배열에 다음 행을 추가합니다: LaravelNovaNovaServiceProvider::class.
    사용자를 위한 Nova 경로를 등록하고 app/Providers/를 엽니다. NovaServiceProvider .php 파일에 다음 메소드를 추가합니다:
  1. 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,
        },
        // ...
    });
    로그인 후 복사
2단계: Nova 리소스 생성

Laravel Nova에서는 리소스가 데이터베이스 모델과 상호 작용하는 데 사용됩니다. 리소스를 생성하려면 다음 명령을 실행하세요.

php artisan serve
로그인 후 복사
이렇게 하면 app/Nova 디렉터리에 리소스 클래스가 생성됩니다. 리소스 클래스에서는 리소스 데이터가 관리되고 표시되는 방법을 정의합니다. 예를 들어, 다음 코드는 User 리소스를 표시하는 방법을 정의합니다.

rrreee

3단계: Nova 리소스 등록 🎜🎜resources/assets/js/app.js에 다음을 추가합니다. 🎜rrreee🎜Add Laravel이 Nova에 액세스할 수 있도록 경로: 🎜rrreee🎜 마지막으로 webpack.mix.js 파일에 다음을 추가합니다: 🎜rrreee🎜 4단계: AdminLTE를 사용하여 Nova와 혼합 🎜🎜 이제 Laravel Nova가 설치되고 Nova 리소스가 생성되었습니다. 다음 단계는 AdminLTE 스타일시트가 포함된 사용자 정의 관리 패널을 생성하기 위해 AdminLTE 스타일시트와 JavaScript 라이브러리를 Nova 리소스에 추가하는 것입니다. 🎜🎜🎜AdminLTE를 다운로드하고 public 디렉터리에 압축을 풉니다. 다운로드 링크는 다음과 같습니다: https://adminlte.io/themes/dev/AdminLTE/🎜🎜관리자 패널을 표시하는 새 보기를 만듭니다. /nova 경로에 나타납니다. 🎜🎜현재 템플릿을 기반으로 nova.blade.php 파일을 생성하고 파일에 다음 콘텐츠를 삽입합니다. 🎜🎜rrreee
    🎜새 보기에서 포함 본문 태그에 다음 콘텐츠: 🎜🎜rrreee
      🎜구성 요소에 새 Vue 구성 요소를 만들고 이름을 Nova로 지정하세요. Nova 구성 요소는 생성 시 경로 및 관련 정보를 등록해야 합니다. 🎜🎜rrreee
        🎜해당 Vue 구성 요소를 가리켜야 하는 nova 경로를 처리할 새 경로를 추가합니다. 🎜 🎜rrreee🎜🎜Nova의 스타일시트와 JavaScript가 정상적으로 호출되는지 확인하고 다음 명령을 사용할 수 있습니다. 🎜🎜rrreee🎜이제 Laravel Nova와 AdminLTE를 성공적으로 혼합했으므로 관리자 패널을 사용자 정의할 수 있습니다. 🎜🎜결론🎜🎜이 글에서는 Laravel Nova와 AdminLTE를 사용하여 아름답고 유연한 관리자 패널을 만드는 방법을 소개했습니다. 이러한 도구의 강력한 조합은 개발자에게 복잡한 기능을 갖춘 애플리케이션을 빠르게 생성할 수 있는 방법을 제공하고 개발자가 비즈니스 요구 사항을 더 빠르게 실현하는 데 도움을 줄 수 있습니다. 독자들이 이 기사를 통해 Laravel 프레임워크에 대해 더 많이 배울 수 있기를 바랍니다. 🎜

위 내용은 Laravel 개발: Laravel Nova 및 AdminLTE를 사용하여 백엔드 관리 인터페이스를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿