asdfx / laravel-material-dashboard
Requires
- laravel/framework: ^5.6|^6.0|^7.0|^8.0
README
此包提供了一种快速设置Material Dashboard与Laravel 5的方法。除了Laravel外,它没有其他要求或依赖,因此您可以立即开始构建您的管理面板。该包只提供了一种Blade模板,您可以扩展它,并提供高级菜单配置选项。还包括一个替换make:auth
Artisan命令的版本,它使用Material Dashboard样式的视图而不是默认的Laravel视图。
1. 安装
-
使用composer安装此包
composer require asdfx/laravel-material-dashboard
-
将服务提供者添加到
config/app.php
中的providers
Laravel 5.5使用包自动发现,因此不需要您手动添加ServiceProvider
Asdfx\LaravelMaterialDashboard\ServiceProvider::class,
-
发布公共资产
php artisan vendor:publish --provider="Asdfx\\MaterialDashboard\\ServiceProvider" --tag=assets
-
发布配置
php artisan vendor:publish --provider="Asdfx\\MaterialDashboard\\ServiceProvider" --tag=config
2. 更新
-
要更新此包,首先更新composer包
composer update asdfx/laravel-material-dashboard
-
然后,使用
--force
标志发布公共资产以覆盖现有文件php artisan vendor:publish --provider="Asdfx\\LaravelMaterialDashboard\\ServiceProvider" --tag=assets --force
3. 用法
要使用模板,创建一个blade文件,并使用@extends('MaterialDashboard::dashboard')
扩展布局。此模板提供以下部分
title
:用于<title>
标签content_header
:页面标题,位于内容上方content
:页面的全部内容css
:额外的样式表(位于<head>
中)js
:额外的javascript(在</body>
之前)
所有部分都是可选的。您的blade模板可能如下所示。
@extends('MaterialDashboard::admin') @section('title', 'Dashboard') @section('content_header') Dashboard @stop @section('content') <p>Welcome to this beautiful admin panel.</p> @stop @section('css') <link rel="stylesheet" href="/css/admin_custom.css"> @stop @section('js') <script> console.log('Hi!'); </script> @stop
注意,在Laravel 5.2或更高版本中,您还可以使用@stack
指令为css
和javascript
提供内容。
{{-- resources/views/admin/dashboard.blade.php --}} @push('css') @push('js')
现在,您只需像往常一样从您的控制器返回此视图。查看AdminLTE以了解如何为您的管理面板构建美丽的内容。
如果您想为未认证的视图使用Material Dashboard主题,您可以扩展未认证的视图
@extends('MaterialDashboard::unauthenticated')
当与Laravel的php artisan make:auth
配合使用时,这很有用。
4. 配置
首先,发布配置文件
php artisan vendor:publish --provider="Asdfx\\MaterialDashboard\\ServiceProvider" --tag=config
现在,编辑config/laravel-material-dashboard.php
以配置仪表板URL、标志、导航栏背景图像和菜单。所有配置选项都在注释中解释。然而,我想简要介绍menu
配置。
4.1 菜单
您可以根据以下方式配置您的菜单
'menu' => [ [ 'route' => 'admin.dashboard', 'icon' => 'fa-tachometer', 'text' => 'Dashboard', ], [ 'text' => 'Content Management', 'links' => [ [ 'link' => '#', 'icon' => 'fa-file-text', 'text' => 'Can only see this if you can manage users', 'permissions' => [ 'action' => 'manage', 'resource' => \App\User::class, ], ], [ 'route' => 'admin.users.edit', 'parameters' => 1, 'icon' => 'fa-file-text', 'text' => 'This will edit user id 1', ], ], ], ],
如果不提供链接或路由,菜单项可以充当菜单标题以分隔项。使用数组,您指定一个菜单项。text
和link
或route
是必需的属性。icon
是可选的,您可以使用的是来自Font Awesome的图标。只需指定图标的名称,它就会出现在您的菜单项之前。
如果您想有条件地显示菜单项,请使用permissions
选项。这集成到Laravel的Gate
功能中。
'permissions' => [ 'action' => 'manage', 'resource' => \App\User::class, ],
这是等效的
@can ('manage', \App\User::class)
5. 覆盖样式
当您使用SASS为Material Dashboard时,它会被包含并发布。
```
php artisan vendor:publish --provider="Asdfx\\MaterialDashboard\\ServiceProvider" --tag=assets
```
为了扩展Material Dashboard样式,请在您的编译脚本中包含 public/vendor/laravel-material-dashboard/scss/material-dashboard.scss
,以便将其输出到 public/vendor/laravel-material-dashboard/css/material-dashboard.min.css
。
6. 问题、疑问和Pull Requests
您可以在 问题部分 报告问题并提问。请以 ISSUE:
开始您的报告,并以 QUESTION:
开始您的提问。
如果您有疑问,请先查看已关闭的问题。
要提交Pull Request,请首先fork此仓库,创建一个新分支,并在其中提交您的新/更新代码。然后从您的新分支打开Pull Request。有关更多信息,请参阅 此指南。