使用 Backpack 为 Laravel 构建自定义管理面板
最后更新于 作者: Cristian Tabacitu
Backpack for Laravel 是一组包,允许你快速为任何 Web 应用程序创建管理面板。它提供了一组有用的包,将使创建高度可定制的管理面板变得更容易。
查看 Backpack 实际操作的最快速方式是 浏览演示应用程序,它预先安装了所有包。
Backpack 附带三种不同类型的包,其中大多数是免费的
-
核心包
- Backpack CRUD
- Backpack PRO - 付费附加组件
- 现成的 CRUD
-
扩展
- BackupManager
- LogManager
- TranslationManager
- LanguageSwitcher
- FileManager
- EditableColumns - 付费附加组件
- ActivityLog
- CalendarOperation - 付费附加组件
- ReviseOperation
- DownloadOperation
- DevTools - 付费附加组件
- 主题 (CoreUIv2, CoreUIv4, Tabler)
Backpack 团队维护所有这些附加组件。这意味着完美的兼容性和来自一个软件供应商的定期更新 - 不会出现意外的失效包。
核心包
有两个核心包
- Backpack CRUD 加速了为管理面板构建 CRUD 的过程。它提供了 DataTables 集成、创建和更新表单(超过 28 种字段类型)、使用表单请求进行验证、多语言支持等等。
- Backpack PRO 是一个付费附加组件,它为你的管理面板添加了许多功能:29 个以上的字段和列、10 个过滤器、5 个以上的操作以及一些小部件。
现成的 CRUD
Backpack 提供五个已经构建的 CRUD,它们针对 Web 应用程序中最常用的 CRUD。你可以立即安装它们,或者将它们用作构建更复杂功能的示例。让我们来看看
PermissionManager
用于管理用户、角色和权限的管理面板,因此你可以为一个用户分配多个角色和权限。
Settings
一个用于轻松更改应用程序设置的界面。它提供了不同类型的设置,例如电子邮件、复选框、文本、数字等。请注意,它不包含用于添加新设置的界面,因此你应该将它们直接添加到数据库中。如果你想检索任何设置的值,可以使用 Config::get('settings.admin_name')
。
PageManager
这是一个用于使用预定义模板创建网站页面的 CRUD,这些模板可以使用你想要的任何字段以及使用各种字段类型的能力。要定义你的模板,请打开 app/PageTemplates.php 文件并添加你的模板。
现在,你可以使用我们的新模板创建一个新页面,如下所示
NewsCRUD
这是一个用于快速创建与新闻相关事物的 CRUD;你可以创建文章、标签和类别,并支持嵌套类别和重新排序类别。
MenuCRUD
一个用于添加、编辑、删除、重新排序和嵌套菜单项的 CRUD。它提供了使用内部或外部链接的能力,你可以链接到 Backpack\MenuManager 的页面。
扩展包
Backpack 有许多 扩展包 - 让我们来看看它们中的每一个
BackupManager
用于创建和管理文件和数据库备份的界面。它支持各种驱动程序,例如 S3、Dropbox、Google Drive、Box 等。查看 Github 上的包自述文件以了解更多详细信息。
LogManager
一个用于处理 Laravel 日志文件的界面。你可以下载、预览或删除,而无需通过 SSH 访问服务器。
TranslationManager
Translation Manager 提供了一个简单的用户界面,以帮助你处理 Laravel 应用程序中的翻译。直接从应用程序语言文件中提供的界面(包括供应商翻译)编辑、搜索和过滤所有翻译。
LanguageSwitcher
这个 包 在 Backpack 管理面板中添加了一个语言切换下拉菜单,允许管理员将应用程序切换到他们首选的语言。
FileManager
Backpack 用于文件和文件夹的管理界面,使用 barryvdh/laravel-elfinder
。
EditableColumns
此扩展提供了一些 可编辑的列,可以直接从列表视图中更新值。当编辑时,列将向控制器提交一个 AJAX 请求以更新数据库中的属性。
ActivityLog
查看谁在你的应用程序中更改了什么以及何时更改。查看用户执行的所有数据库更改。这个 包 为 spatie/laravel-activitylog
添加了一个 Web 界面。
CalendarOperation
在你的 CRUD 中添加一个 日历视图;让管理员在日历上列出、搜索和预览数据库条目,以及通过拖放进行快速编辑。节省了大量集成 FullCalendar 的时间。
ReviseOperation
这个 扩展 为你的 Backpack CRUD 添加了 venturecraft/revisionable
的界面,以便管理员可以查看对条目所做的更改并撤消更改。
Backpack MedialibraryUploaders
如果你的项目使用 Spatie Media Library,这个附加组件提供了 Backpack 字段轻松地 将上传的文件存储为媒体(通过使用 Spatie Media Library)的能力。
DownloadOperation
这个 包 提供了一种方法,可以通过使用 spatie/laravel-browsershot
将“下载”按钮添加到 CRUD 以下载与你的条目相关的 PDF 文件。或者简单地覆盖一个函数以返回你选择的格式的文件。
Backpack DevTools
如果您希望使用网页界面来完成上述操作 - 直接在浏览器窗口中生成 CRUD、迁移、模型、Seeder 和工厂。忘记命令行吧。忘记迁移类型吧。使用 Backpack DevTools,在几秒钟内从想法到完整的 CRUD。
Backpack 主题支持
是的,Backpack 支持管理面板的主题。您可以选择现有的主题或创建自己的主题。目前,Backpack v6 提供了三种主题
- backpack/theme-tabler - 使用 Tabler,这是一个出色的 Bootstrap 5 HTML 模板;
- backpack/theme-coreuiv2 - 使用 Backstrap,它是 CoreUI v2 的一个分支;
- backpack/theme-coreuiv4 - 使用 CoreUI v4;
每个主题都有其优缺点,例如
- Tabler 提供 300 多个精美 HTML 组件;
- CoreUIv2 提供 Internet Explorer 支持;
社区插件
Backpack 拥有一个不断壮大的社区,他们也发布了免费的插件。一些很好的例子是
- https://github.com/maurohmartinez/impersonate-users-backpack-laravel
- https://github.com/redsquirrelstudio/laravel-backpack-import-operation
Backpack 定价
Backpack 有几个定价层级。使用优惠券代码 LARAVELNEWS
可以节省 20%。
就是这样;如果您想为任何 Web 应用程序快速创建管理面板,请尝试使用 Backpack for Laravel。有关使用、选项和定制的更多详细信息,请查看 文档。要了解如何在一条命令中生成完整的 CRUD,请 查看这篇文章。