In modernen Webanwendungen ist die Verwaltungsoberfläche ein wichtiger Teil, der berücksichtigt werden muss. Es muss intuitiv, einfach zu bedienen und funktionsreich sein. Um dieses Ziel zu erreichen, stellt Laravel zwei Frameworks zur Verfügung: Laravel Nova und AdminLTE.
Laravel Nova ist ein Admin-Panel in Laravel, das in wenigen Minuten ein Admin-Panel für Ihre Laravel-Anwendung generiert. Laravel Nova verfügt über eine schöne Benutzeroberfläche, Benutzerverwaltung, CMS und mehr, sodass Entwickler komplexe Anwendungen schneller und einfacher erstellen können.
Andererseits ist AdminLTE eine kostenlose Backend-Admin-Vorlage, die auch eine schöne Benutzeroberfläche und notwendige JavaScript-Bibliotheken bietet. Es basiert auf dem Bootstrap-CSS-Framework und ist zudem responsiv. Sie können AdminLTE lokal bereitstellen und hosten, um eine schnelle, anpassbare Verwaltungsoberfläche zu erhalten.
In diesem Artikel stellen wir vor, wie Sie mit Laravel Nova und AdminLTE eine schöne Verwaltungsoberfläche erstellen.
Schritt 1: Laravel Nova installieren
Um ein Admin-Panel mit Laravel Nova zu erstellen, müssen Sie zuerst Laravel Nova installieren. Bitte befolgen Sie die folgenden Schritte, um die Installation abzuschließen:
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>-Datei, fügen Sie die folgenden Zeilen zum Array <code>providers
hinzu: LaravelNovaNovaServiceProvider::class
.app/Providers/ Fügen Sie in der Datei NovaServiceProvider .php
die folgende Methode hinzu: 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
erstellt. In einer Ressourcenklasse definieren Sie, wie Ressourcendaten verwaltet und angezeigt werden. Der folgende Code definiert beispielsweise, wie die Ressource Benutzer
angezeigt wird: rrreee
Schritt 3: Nova-Ressourcen registrieren 🎜🎜Fügen Sie Folgendes in resources/assets/js/app.js hinzu: 🎜rrreee🎜Hinzufügen eine Route, damit Laravel auf Nova zugreifen kann: 🎜rrreee🎜 Fügen Sie abschließend Folgendes zu Ihrer webpack.mix.js-Datei hinzu: 🎜rrreee🎜 Schritt 4: Mit Nova über AdminLTE mischen 🎜🎜 Jetzt haben Sie Laravel Nova installiert und Nova-Ressourcen erstellt. Der nächste Schritt besteht darin, das AdminLTE-Stylesheet und die JavaScript-Bibliothek zu den Nova-Ressourcen hinzuzufügen, um ein benutzerdefiniertes Admin-Panel mit AdminLTE-Stil zu erstellen. 🎜🎜🎜Laden Sie AdminLTE herunter und extrahieren Sie es in das Verzeichnispublic
. Hier ist der Download-Link: https://adminlte.io/themes/dev/AdminLTE/🎜🎜Erstellen Sie eine neue Ansicht, um das Admin-Panel anzuzeigen. Es wird in der Route für /nova
angezeigt. 🎜🎜Erstellen Sie basierend auf der aktuellen Vorlage eine nova.blade.php
-Datei und fügen Sie den folgenden Inhalt in die Datei ein: 🎜🎜rrreeeNova
. Nova Component muss beim Erstellen Routen und zugehörige Informationen registrieren: 🎜🎜rrreeenova
-Route zu verarbeiten, die auf die entsprechende Vue-Komponente verweisen sollte: 🎜 🎜rrreee🎜🎜Stellen Sie sicher, dass Novas Stylesheet und JavaScript normal aufgerufen werden. Sie können den folgenden Befehl verwenden: 🎜🎜rrreee🎜Nachdem Sie Laravel Nova und AdminLTE erfolgreich gemischt haben, können Sie das Admin-Panel anpassen. 🎜🎜Fazit🎜🎜In diesem Artikel haben wir vorgestellt, wie man mit Laravel Nova und AdminLTE ein schönes und flexibles Admin-Panel erstellt. Die leistungsstarke Kombination dieser Tools kann Entwicklern eine schnelle Möglichkeit bieten, Anwendungen mit komplexer Funktionalität zu erstellen und ihnen dabei zu helfen, ihre Geschäftsanforderungen schneller umzusetzen. Ich hoffe, dass die Leser in diesem Artikel mehr über das Laravel-Framework erfahren können. 🎜Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie verwende ich Laravel Nova und AdminLTE, um eine Backend-Verwaltungsschnittstelle zu generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!