auviis/adminlte-bundle

Symfony 4+ 的基于 AdminLTE 2.4 的 Admin 主题捆绑包,支持 FOSUserBundle

安装: 5

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 71

类型:symfony-bundle

dev-master 2024-08-23 06:55 UTC

This package is not auto-updated.

Last update: 2024-09-21 05:27:10 UTC


README

本捆绑包已不再维护

使用的 AdminLTE 版本已过时。支持的 Symfony 和 PHP 版本均已达到 EOL。

问题、错误请求甚至拉取请求都不会得到回复或合并。

如果您正在寻找现代替代方案,请查看 Tabler 捆绑包: https://github.com/kevinpapst/TablerBundle

Latest Stable Version Total Downloads License

Symfony 的 AdminLTE 捆绑包

此存储库包含 AvanzuAdminThemeBundle 的升级版本,将 AdminLTE 主题引入到 Symfony 4。

简介

  • 文档 - 如何安装、使用和享受此捆绑包
  • 演示应用 - 使用此捆绑包的演示应用程序
  • Kimai 时间跟踪 - 使用此捆绑包和 Symfony 4 的在线时间跟踪应用程序

最低要求

  • Symfony 4.3
  • PHP > 7.2
  • Twig 2.0

兼容性

版本 3.x 应该与 Symfony 5 和 PHP 8 兼容,请留下您的反馈

  • 版本 3.x 只与 Symfony >= 4.3 兼容
  • 此捆绑包的 2.x 版本与 Symfony < 4.3 兼容

特性

此主题捆绑包的一些主要特性

  • 两个主要布局:主应用和安全(登录、忘记密码、注册账户...)
  • 支持 Symfony 4.x
  • 支持 KNPMenuBundle
  • 支持 FOSUserBundle
  • Webpack-Encore 支持 asset 构建
  • 基于事件的菜单项、任务和通知处理
  • 支持以下语言的翻译:英语、德语、意大利语、捷克语、西班牙语、俄语、阿拉伯语、芬兰语、日语、瑞典语、葡萄牙语(巴西)、荷兰语、法语、土耳其语、丹麦语、中文、斯洛伐克语、巴斯克语、波兰语、世界语、希伯来语、罗马尼亚语(请帮助翻译成更多语言)
  • 基于 AdminLTE 2.4.8
  • 使用 FontAwesome 5

使用 Symfony Flex 安装

使用 Symfony flex 进行安装

composer config extra.symfony.allow-contrib true
composer req "kevinpapst/adminlte-bundle:^3.0"

使用 Composer 安装

使用“传统”Composer 方法进行安装

   composer require kevinpapst/adminlte-bundle ^3.0

然后,将默认配置复制到您的 config/packages/ 目录

cp vendor/kevinpapst/adminlte-bundle/config/packages/admin_lte.yaml config/packages/

然后,通过将其添加到项目 config/bundles.php 文件中注册的捆绑包列表中启用捆绑包

<?php

return [
    // ...
    KevinPapst\AdminLTEBundle\AdminLTEBundle::class => ['all' => true],
];

AdminLTEBundle 和 AvanzuAdminThemeBundle 之间的区别

首先,原始存储库非常注重向后兼容性,只有在保持 Symfony 2 和 3 兼容性的情况下才会进行维护(例如 这里)。

这意味着您不会获得 SF4 的新功能。由于我正在处理一个使用 webpack-encore 的 Symfony 4 项目,因此我需要一个解决方案。

我首先尝试向原始存储库发送 PR,但它们并不总是被接受 例如这里。由于我确实需要一个升级版本,我尝试在分叉的分支中管理了一个星期,但那并不奏效,我发现自己在项目中覆盖了越来越多的东西,直到我不得不在以下两者之间做出选择

  1. 在我的项目中做所有更改
  2. 在我的分叉存储库中做更改,并在我的 composer.json 中有“dev-”条目
  3. 清理分支,将其与我的项目更改合并并发布给社区

对我来说,选择 3 是简单且明显的:我现在在这个存储库中从新开始工作,并有机会打破向后兼容性(对于从 AdminThemeBundle 迁移的用户)。

主要差异

这个存储库是从原始的 master 分支创建的,但进行了许多增强

  • 命令自动发现(见 #215
  • Symfony4 兼容性(见 #215
  • 动态配置选项(见 #217
  • 升级到 AdminLTE 2.4.8
  • 增加了对 FOSUserBundle 的支持
  • 增加了 Symfony Flex 食谱以简化集成
  • 使用 Webpack-Encore 编译前端资产
  • 修复了 KNPMenu 集成
  • 用更简单的版本替换了 AliasRouting
  • 更改了命名空间,以便在迁移期间与 AdminThemeBundle 共存
  • 更改并扩展了默认配置
  • 代码库的大规模清理
  • 更改了所有 twig 块名称(附带迁移的额外布局适配文件)
  • 更改了控制侧边栏,现在可以从 admin_lte.yaml 或 ContextHelper 进行配置
  • 一个 演示应用程序 作为新用户的活文档和简化测试
  • 更新 composer.json 以反映更新的包依赖项
  • 引入单元测试、phpstan 和代码样式规则(所有由 Travis 检查)

从 AvanzuAdminTheme 迁移

请注意:我决定更改一些项目内部结构并放弃了原始 AdminThemeBundle 的一些功能。我发现一揽子解决方案在某些地方更成问题而不是帮助,所以我抓住机会将其更新为我对主题包的自己的解释。

如果你之前使用了 AvanzuAdminTheme,你将无法“直接替换” composer 包。提前规划,你将需要(根据项目的规模)几个小时的时间 进行迁移

我自己的项目迁移耗时大约 4 小时,但当时我不得不将许多自定义(例如 webpack-encore 构建)移动到包中。请参阅迁移示例 PR #202#206

许可和贡献者

在 MIT 许可下发布,请阅读 LICENSE 文件以获取更多信息。

此存储库基于 AdminThemeBundle 的工作,请检查他们的贡献者名单,并给他们点个赞!