auviis / adminlte-bundle
Symfony 4+ 的基于 AdminLTE 2.4 的 Admin 主题捆绑包,支持 FOSUserBundle
资助包维护!
kevinpapst
paypal.me/kevinpapst
Requires
- php: >=7.1.3
- symfony/asset: >4.3
- symfony/config: >4.3
- symfony/dependency-injection: >4.3
- symfony/event-dispatcher: >4.3
- symfony/http-foundation: >4.3
- symfony/http-kernel: >4.3
- symfony/options-resolver: >4.3
- symfony/security-core: >4.3
- symfony/translation: >4.3
- symfony/twig-bridge: >4.3
- twig/twig: >2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.10
- knplabs/knp-menu-bundle: ^2.2
- phpspec/prophecy: ^1.6
- phpstan/phpstan: ^0.12
- phpstan/phpstan-phpunit: ^0.12
- phpunit/phpunit: ^7.3
- symfony/framework-bundle: >4.3
Suggests
- knplabs/knp-menu-bundle: Allows easy menu integration
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
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,但它们并不总是被接受 例如这里。由于我确实需要一个升级版本,我尝试在分叉的分支中管理了一个星期,但那并不奏效,我发现自己在项目中覆盖了越来越多的东西,直到我不得不在以下两者之间做出选择
- 在我的项目中做所有更改
- 在我的分叉存储库中做更改,并在我的 composer.json 中有“dev-”条目
- 清理分支,将其与我的项目更改合并并发布给社区
对我来说,选择 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 的工作,请检查他们的贡献者名单,并给他们点个赞!