kevinpapst / adminlte-bundle
基于AdminLTE 2.4和FOSUserBundle支持的Symfony 4+管理主题包
资助包维护!
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 auto-updated.
Last update: 2024-01-07 12:25:32 UTC
README
使用的AdminLTE版本较旧。支持的Symfony和PHP版本均已达到EOL。
问题、错误请求甚至pull请求都不会得到回答或合并。
如果您正在寻找现代替代方案,请检查Tabler包: https://github.com/kevinpapst/TablerBundle
AdminLTE Bundle for Symfony
此存储库包含AvanzuAdminThemeBundle的升级版本,将AdminLTE主题带到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支持构建资源
- 基于事件的菜单项、任务和通知的处理
- 支持翻译:英语、德语、意大利语、捷克语、西班牙语、俄语、阿拉伯语、芬兰语、日语、瑞典语、葡萄牙语(巴西)、荷兰语、法语、土耳其语、丹麦语、中文、斯洛伐克语、巴斯克语、波兰语、世界语、希伯来语、罗马尼亚语(请帮助翻译成更多语言)
- 基于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 的新功能。由于我在一个 Symfony 4 项目上工作,使用了 webpack-encore,我需要一个解决方案。
我首先尝试向原始仓库提交 PR,但这些 PR 并非总是被接受 例如,参见此处。由于我非常需要一个升级版本,我试图在分叉中管理一个分支几周,但这并不顺利,我在我的项目中不断覆盖越来越多的内容,直到有一个时刻我必须选择
- 在我的项目中进行所有更改
- 在我的分叉仓库中进行更改,并在 composer.json 中有 "dev-" 条目
- 清理分叉,将其与我的项目更改合并并发布给社区
对我来说,选择 3 是简单且明显的:我现在在这个仓库中从头开始工作,并且有机会打破向后兼容性(对于从 AdminThemeBundle 迁移的用户)。
主要区别
此仓库是从原始 master 创建的,但在此之上添加了很多增强功能
- 命令自动发现(参见 #215)
- Symfony4 兼容性(参见 #215)
- 动态配置选项(参见 #217)
- 升级到 AdminLTE 2.4.8
- 添加了对 FOSUserBundle 的支持
- 添加了 Symfony Flex 配方以简化集成
- 使用 Webpack-Encore 编译前端资产
- 修复了 KNPMenu 集成
- 用更简单的版本替换了 AliasRouting
- 更改命名空间以允许与 AdminThemeBundle 共存,以便进行迁移
- 更改并扩展了默认配置
- 对代码库进行了大量的清理
- 更改了所有 twig 块名称(包括迁移的附加布局 shim 文件)
- 更改了控制侧边栏,内容现在可以从 admin_lte.yaml 或 ContextHelper 进行配置
- 一个 演示应用程序 作为新用户的活页文档和更容易的测试
- 更新 composer.json 以反映更现代的包依赖关系
- 引入了单元测试、phpstan 和代码风格规则(所有由 Travis 检查)
从 AvanzuAdminTheme 迁移
请注意:我决定更改一些项目内部结构并删除了原始 AdminThemeBundle 的一些功能。我发现全功能解决方案在某些地方比有帮助,所以我抓住机会将其更新到我对主题包自己的理解。
如果您之前使用了 AvanzuAdminTheme
,则无法“直接替换” composer 包。请提前规划,您将需要(根据项目的大小)几个小时的时间 进行迁移。
我大约在4小时内迁移了自己的项目,但同一时间不得不将大量定制化工作移动到包中(例如webpack-encore构建)。请参阅以下迁移示例的PRs:#202 和 #206。
许可和贡献者
该项目采用MIT许可发布,更多信息请参阅LICENSE文件。
本仓库基于AdminThemeBundle的工作,请也查看他们的贡献者列表,并给予他们一颗星!