최신 웹 애플리케이션에서 관리 인터페이스는 고려해야 할 중요한 부분입니다. 직관적이고 사용하기 쉬우며 기능이 풍부해야 합니다. 이 목표를 달성하기 위해 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를 설치해야 합니다. 설치를 완료하려면 아래 단계를 따르세요.
composer require laravel/nova
.composer require laravel/nova
.config/app.php
文件,将以下行添加到 providers
数组中:LaravelNovaNovaServiceProvider::class
.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样式的自定义管理面板。
public
目录中。下面是下载链接:https://adminlte.io/themes/dev/AdminLTE//nova
的路由中。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>
<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>
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 });
nova
config/app.php를 수정하세요. </ code> 파일에서 <code>providers
배열에 다음 행을 추가합니다: LaravelNovaNovaServiceProvider::class
.app/Providers/를 엽니다. NovaServiceProvider .php
파일에 다음 메소드를 추가합니다: 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, }, // ... });
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
파일을 생성하고 파일에 다음 콘텐츠를 삽입합니다. 🎜🎜rrreeeNova
로 지정하세요. Nova 구성 요소는 생성 시 경로 및 관련 정보를 등록해야 합니다. 🎜🎜rrreeenova
경로를 처리할 새 경로를 추가합니다. 🎜 🎜rrreee🎜🎜Nova의 스타일시트와 JavaScript가 정상적으로 호출되는지 확인하고 다음 명령을 사용할 수 있습니다. 🎜🎜rrreee🎜이제 Laravel Nova와 AdminLTE를 성공적으로 혼합했으므로 관리자 패널을 사용자 정의할 수 있습니다. 🎜🎜결론🎜🎜이 글에서는 Laravel Nova와 AdminLTE를 사용하여 아름답고 유연한 관리자 패널을 만드는 방법을 소개했습니다. 이러한 도구의 강력한 조합은 개발자에게 복잡한 기능을 갖춘 애플리케이션을 빠르게 생성할 수 있는 방법을 제공하고 개발자가 비즈니스 요구 사항을 더 빠르게 실현하는 데 도움을 줄 수 있습니다. 독자들이 이 기사를 통해 Laravel 프레임워크에 대해 더 많이 배울 수 있기를 바랍니다. 🎜위 내용은 Laravel 개발: Laravel Nova 및 AdminLTE를 사용하여 백엔드 관리 인터페이스를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!