warkensoft / laradmin
Laravel的一个简单、强大的即插式管理界面。
- dev-master
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.1
- 2.0.0
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/postcss-8.4.31
- dev-dependabot/npm_and_yarn/bootstrap-4.3.1
- dev-dependabot/npm_and_yarn/jquery-3.5.0
- dev-dependabot/npm_and_yarn/got-and-summernote--removed
- dev-develop
This package is auto-updated.
Last update: 2024-09-24 18:24:59 UTC
README
Laravel的一个简单、强大的即插式管理界面。
该项目起源于希望拥有一个简单易用的管理界面,可以将该界面插入到新的或现有的基于Laravel的网站中,以管理任何可编辑的内容。
重要警告! 此包仍在开发中。随着时间的推移,可能会有所变化。我们将尽力确保不会破坏现有功能,但请自行承担风险使用。
内容
安装
使用Composer,只需在命令行运行以下命令
$ composer require warkensoft/laradmin:^2.0
$ php artisan vendor:publish --provider="Warkensoft\Laradmin\Provider" --tag=config --tag=public
这将安装包到您的Laravel应用程序,并将laradmin.php
配置文件发布到您的配置文件夹。您将使用此文件来配置Laradmin在应用程序中的运行方式。它还将将Laradmin所需的一些jQuery插件发布到/public/vendor/laradmin/文件夹。
界面使用的所有视图都可以根据需要进行覆盖。要发布所有可自定义资产,请使用
$ php artisan vendor:publish --provider="Warkensoft\Laradmin\Provider"
如何在新的Laravel安装上安装此包的逐步示例在此处描述。
重要安全警告!
默认情况下,Laradmin非常不安全,只需要登录用户即可访问界面。强烈建议通过中间件进行进一步的安全定制。有关保护Laradmin的更多信息,请参阅。
示例页面编辑
配置选项
以下选项可以在laradmin.php配置文件中进行自定义。
中间件
定义要查看Laradmin界面所需的中间件。默认情况下,它只需要一个登录用户。
'middleware' => [ 'auth' ]
adminpath
Laradmin区域的基准路径。例如,默认设置将允许您通过以下链接访问Laradmin界面:https://yourdomain.com/laradmin/dashboard
'adminpath' => 'laradmin',
layout
用于显示Laradmin界面的基本模板。如果需要,您可以用自己的模板替换它,但通常更好的做法是通过发布视图并进行修改来实现。
'layout' => 'laradmin::layouts.admin',
index-length
允许您定义在模型索引中每页列出多少条记录。
'index-length' => 10,
crudable
在此处定义在Laradmin界面中可编辑的模型。以下示例定义了\App\User模型可在Laradmin中编辑,以及路径和路由以及将用于编辑记录的字段。有关字段本身的详细信息,请参阅字段配置。
'crudable' => [
// Sample entry for a standard laravel user record.
'\\App\\User' => [
'path' => 'users', // The path to the model under /laradmin/
'route' => 'users', // The route name used for the model
'nav_title' => 'Users', // The title used in the navigation sidebar
'plural' => 'Users', // The plural form of the model
'singular' => 'User', // The singular form of the model
'nav_icon' => 'fa-users', // The font-awesome icon for admin nav elements
// Fields used for model data
'fields' => [
[
'type' => \Warkensoft\Laradmin\Fields\Input::class,
'name' => 'name',
'label' => 'User Name',
'placeholder' => 'Somebody Smith',
'default' => '',
'rules' => 'required',
],
[
'type' => \Warkensoft\Laradmin\Fields\Input::class,
'name' => 'email',
'label' => 'Email Address',
'placeholder' => 'somebody@example.com',
'default' => '',
'rules' => 'required',
],
[
'type' => \Warkensoft\Laradmin\Fields\Password::class,
'name' => 'password',
'label' => 'Password',
'placeholder' => 'Enter password here...',
'default' => '',
'rules' => 'confirmed',
'searchable' => false,
],
[
'type' => \Warkensoft\Laradmin\Fields\Password::class,
'name' => 'password_confirmation',
'label' => 'Confirm Password',
'placeholder' => 'Repeat password here...',
'default' => '',
'rules' => '',
'searchable' => false,
],
],
// Define what columns should appear on the model index. field=>label pairs
'index' => [
'id' => 'ID',
'name' => 'Name',
'email' => 'Email Address',
],
// Show a widget on the dashboard for this model.
'dashboard-widget' => [
'name',
'email',
'created_at',
],
// Define the default sort order for the model index and dashboard widget.
'sort' => [
'key' => 'name', // Sort field name
'dir' => 'asc', // Sort field direction
],
], // End of User definition
],
字段配置
您希望Laradmin允许修改的每个字段都必须在fields数组中定义为字段声明。这些通常遵循以下模式
'type' => \Warkensoft\Laradmin\Fields\Input::class,
'name' => 'name',
'label' => 'User Name',
'placeholder' => 'Somebody Smith',
'default' => '',
'rules' => 'required',
字段 type
type
变量定义了Laradmin界面中的字段类。以下类目前存在。
- \Warkensoft\Laradmin\Fields\Input::class
- \Warkensoft\Laradmin\Fields\Password::class
- \Warkensoft\Laradmin\Fields\Textarea::class
- \Warkensoft\Laradmin\Fields\Select::class
- \Warkensoft\Laradmin\Fields\Checkbox::class
- \Warkensoft\Laradmin\Fields\DateTime::class
- \Warkensoft\Laradmin\Fields\ImageUpload::class
- \Warkensoft\Laradmin\Fields\Summernote::class
- \Warkensoft\Laradmin\Fields\SelectFromMany::class
- \Warkensoft\Laradmin\Fields\SelectManyFromMany::class
您可以根据需要在自己的应用程序中定义额外的类,只要它们符合 FieldContract
接口。通过这种方式,您可以使用所需的任何额外类型的字段扩展 Laradmin 平台。
Field
类的目的有两个。首先,它们应该定义用于显示字段的视图。这是通过类上的简单 view()
方法完成的,该方法返回一个包含视图名称的字符串。
其次,它们能够在数据保存之前过滤和修改提交的模型数据,以便进行必要的更改。
有关如何配置这些字段类型的具体细节,请参阅 Laradmin 字段类型 & 配置。
保护 Laradmin
Laradmin 的安全性通过在 laradmin.php 配置文件中定义的中件件进行控制。默认情况下,它只要求使用 auth
中件件登录用户。您可以通过修改配置中的 middleware
参数值来定义额外的中件件要求。例如,您可能希望创建一个新中件件文件,要求登录用户在他们的账户中有一个 'is_admin' 参数,并且只有当它设置为 true
时才允许他们访问。
构建 Laravel 的中件件超出了本文件的范畴,但您可以在 Laravel 文档中进一步研究。 https://laravel.net.cn/docs/10.x/middleware
项目目标和目标
- 与标准的 Laravel 用户身份验证一起工作。
- 通过 composer 以简单的依赖关系添加。
- 可以通过自定义脚本完全覆盖,以按需扩展。
- 干净、简单的界面。
- 可扩展以支持任何类型的内容数据。
- 支持常见的模型关系。
- 社区驱动。
架构想法
- 完全通过配置文件控制。
- 配置文件定义了支持 admin CRUD 的模型列表。
- 模型配置描述
- 验证规则
- 文本标签(复数、单数等)
- 控制器类名(如果已覆盖)
- 路由名称
- 路径
- 显示的索引字段(用于视图)
- 配置文件定义了每个模型上的每个字段的以下内容
- 标签
- 名称
- 类型(输入、文本区域、复选框、单选按钮、选择、图片上传、关系、标签列表等)
- 占位符
- 默认值
- 关系详情(如果有)
- 字段类型直接绑定到视图部分。