kykurniawan / laravel-sb-admin-template
Laravel SB Admin Template
Requires
- illuminate/console: ^10.6
- illuminate/support: ^10.6
- illuminate/view: ^10.6
README
Laravel SB Admin Template 是一个提供简单方式将流行的 SB Admin Template 集成到您的 Laravel 项目的包。
安装
您可以通过 composer 安装此包
composer require kykurniawan/laravel-sb-admin-template
安装模板
php artisan laravel-sb-admin-template:install
这将复制必要的资产(CSS、JS、图片、字体)到您的公共目录,并将配置文件复制到您的配置目录。
使用
成功安装包后,我们可以使用预构建的仪表板布局,只需在您的视图中扩展 sb-admin 布局即可
@extends('laravel-sb-admin-template::admin')
@section('title', 'Hello World!')
@section('content')
<!-- Your content here -->
@endsection
您可能想在模板的头部添加一些内容
@extends('laravel-sb-admin-template::admin') @section('head') @parent <!-- add something here: metatag, css link, etc --> @endsection @section('content') <!-- Your content here --> @endsection
您也可以在模板的底部(在 body 关闭标签之前)添加一些内容
@extends('laravel-sb-admin-template::admin') @section('foot') @parent <!-- add something here: scripts,etc --> @endsection @section('content') <!-- Your content here --> @endsection
注意: @parent
指令保留默认元素(模板样式、模板脚本)加载。如果您不添加此指令,则需要手动包含模板的样式或脚本。
<!-- for head --> @section('head') @include('laravel-sb-admin-template::partials.style') <!-- something here --> @endsection <!-- for foot --> @section('foot') @include('laravel-sb-admin-template::partials.script') <!-- something here --> @endsection
配置
包的配置文件位于 config/laravel-sb-admin-template.php。在这里,您可以自定义模板的各个方面,例如模板视图、部分名称等。
模板定制
要为您的项目定制模板,您可以在 AppServiceProvider 上的 boot 方法中使用此包提供的 Facade 模板。
导入模板外观和模板组件
use KyKurniawan\LaravelSBAdminTemplate\Facades\Template; use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\Footer; use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\Navbar; use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\NavbarDropDownItem; use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\Sidebar; use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\SidebarFooter; use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\SidebarItem;
然后,在您的应用服务提供商上的 boot 方法中
class AppServiceProvider extends ServiceProvider { /** * Register any application services. */ public function register(): void { // } /** * Bootstrap any application services. */ public function boot(): void { Template::navbar( Navbar::make() ->brandTitle('This is awesome') ->brandHref('/') ->dropDownItems([ NavbarDropDownItem::make()->text('Drop Down Link 1'), NavbarDropDownItem::make()->type('divider'), NavbarDropDownItem::make()->text('Drop Down Link 2'), ]) ); Template::sidebar( Sidebar::make() ->sidebarItems([ SidebarItem::make()->type('heading')->text('Main'), SidebarItem::make() ->text('Link 1') ->children([ SidebarItem::make()->text('Link 1.1'), SidebarItem::make()->text('Link 1.2'), ]), SidebarItem::make()->type('heading')->text('Config'), SidebarItem::make() ->text('Link 2'), SidebarItem::make() ->text('Link 3'), ]) ->sidebarFooter( SidebarFooter::make() ->text('Halo Footer') ) ); Template::footer( Footer::make() ->copyright('Hello World') ->visible(true) ); } }
模板组件类
导航栏
use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\Navbar;
make()
初始化组件。这是一个静态方法。您需要在创建组件时调用此方法。
brandTitle(string|callable)
设置导航栏品牌标题。接受字符串或返回字符串的函数。
brandHref(string|callable)
设置导航栏品牌链接。接受字符串或返回字符串的函数。
dropDownIcon(string|callable)
设置导航栏下拉图标。接受字符串或返回字符串的函数。
dropDownItems([])
设置导航栏下拉项。接受 NavbarDropDownItem
组件的数组。
NavbarDropDownItem
use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\NavbarDropDownItem;
make()
初始化组件。这是一个静态方法。您需要在创建组件时调用此方法。
type(string)
设置项类型。允许的类型:[链接、分隔符、视图]。
text(string|callable)
设置项文本。仅在项类型为链接时工作。接受字符串或返回字符串的函数。
href(sring|callable)
设置项链接。仅在项类型为链接时工作。接受字符串或返回字符串的函数。
target(sring|callable)
设置项目标链接。仅在项类型为链接时工作。接受字符串或返回字符串的函数。
visible(bool|callable)
设置项可见性。接受布尔值或返回布尔值的函数。
view(string|callable)
设置项 Blade 视图名称(从您的视图文件夹)。仅在项类型为视图时工作。接受字符串或返回字符串的函数。
侧边栏
use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\Sidebar;
make()
初始化组件。这是一个静态方法。您需要在创建组件时调用此方法。
sidebarItems([])
设置侧边栏菜单项。接受 SidebarItem
组件的数组。
sidebarFooter(SidebarFooter)
设置侧边栏页脚组件。接受 SidebarItem
组件的对象。
SidebarItem
use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\SidebarItem;
make()
初始化组件。这是一个静态方法。您需要在创建组件时调用此方法。
type(string)
设置项类型。允许的类型:[链接、标题]。
text(string|callable)
设置项文本。接受字符串或返回字符串的函数。
href(sring|callable)
设置项链接。仅在项类型为链接时工作。
target(sring|callable)
设置项目标链接。仅在项类型为链接时工作。接受字符串或返回字符串的函数。
visible(bool|callable)
设置项可见性。接受布尔值或返回布尔值的函数。
icon(string|callable)
设置项图标。仅在项类型为链接时工作。接受字符串或返回字符串的函数。
active(bool|callable)
设置项目活动状态。接受布尔值或返回布尔值的函数。仅在项目类型为链接时生效。
children([])
设置项目子项(嵌套项)。接受 SidebarItem
组件的数组。仅在项目类型为链接时生效。
侧边栏页脚
use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\SidebarFooter;
make()
初始化组件。这是一个静态方法。您需要在创建组件时调用此方法。
text(string|callable)
设置侧边栏页脚文本。接受字符串或返回字符串的函数。
visible(bool|callable)
设置侧边栏页脚可见性。接受布尔值或返回布尔值的函数。
页脚
use KyKurniawan\LaravelSBAdminTemplate\TemplateComponents\Footer;
make()
初始化组件。这是一个静态方法。您需要在创建组件时调用此方法。
版权声明(string|callable)
设置页脚版权文本。接受字符串或返回字符串的函数。
visible(bool|callable)
设置页脚可见性。接受布尔值或返回布尔值的函数。
注意:请求对象会传递给所有可调用的函数。例如
Footer::make()->copyright(function($request) { return $request->query('copyright'); })
覆盖模板
此包的设计方式是您只需要扩展布局。但是,如果您有更具体的需求,可以将模板的视图复制到您的项目中,并进行任何您想要的修改。
为此,您必须发布视图
php artisan vendor:publish --provider="KyKurniawan\LaravelSBAdminTemplate\ServiceProvider" --tag="sb-admin-views"
覆盖模板视图后,您必须告诉包使用您创建的视图而不是默认模板视图。您可以通过配置文件来完成此操作。
致谢
此包受到了 Start Bootstrap 的 SB Admin 模板启发。特别感谢 David Miller 创建这个了不起的模板。
许可协议
Laravel SB Admin 模板包是开源软件,许可协议为 MIT 许可协议。