kykurniawan/laravel-sb-admin-template

Laravel SB Admin Template

v2.0.3 2023-04-08 16:31 UTC

This package is auto-updated.

Last update: 2024-09-08 19:41:11 UTC


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 许可协议