Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kevinpapst/AdminLTEBundle

AdminLTE bundle for Symfony 4+ - an backend/admin theme for easy integration. It is based on the AdminLTE Template 2. Supports KNPMenuBundle and FOSUserBundle, built with webpack-encore.
https://github.com/kevinpapst/AdminLTEBundle

adminlte adminlte-template fontawesome5 fosuserbundle php8 symfony symfony-bundle symfony4 symfony5 theme-bundle webpack-encore

Last synced: 2 months ago
JSON representation

AdminLTE bundle for Symfony 4+ - an backend/admin theme for easy integration. It is based on the AdminLTE Template 2. Supports KNPMenuBundle and FOSUserBundle, built with webpack-encore.

Awesome Lists containing this project

README

        

---
# THIS BUNDLE IS NOT MAINTAINED ANYMORE

The used AdminLTE version is old.
Both: supported Symfony and PHP version are EOL.

Issues, bug requests and even pull requests will not neither be answered nor merged.

If you are looking for a modern alternative, check out the Tabler bundle at: https://github.com/kevinpapst/TablerBundle

---

[![Latest Stable Version](https://poser.pugx.org/kevinpapst/adminlte-bundle/v/stable)](https://packagist.org/packages/kevinpapst/adminlte-bundle)
[![Total Downloads](https://poser.pugx.org/kevinpapst/adminlte-bundle/downloads)](https://packagist.org/packages/kevinpapst/adminlte-bundle)
[![License](https://poser.pugx.org/kevinpapst/adminlte-bundle/license)](LICENSE)

# AdminLTE Bundle for Symfony

This repository contains an upgraded version of the AvanzuAdminThemeBundle, bringing the AdminLTE theme to Symfony 4.

## Introduction

- [Documentation](Resources/docs/) - How to install, use and enjoy this bundle
- [Demo app](https://github.com/kevinpapst/AdminLTEBundle-Demo) - Demo application using this bundle
- [Kimai time-tracking](https://github.com/kimai/kimai) - online time-tracking app using this bundle and Symfony 4

### Minimum requirements

- Symfony 4.3
- PHP > 7.2
- Twig 2.0

**Compatibility:**

Version 3.x should be compatible with Symfony 5 and PHP 8, [please leave your feedback](https://github.com/kevinpapst/AdminLTEBundle/issues/144).

- Version 3.x is only compatible with Symfony >= 4.3
- Version 2.x of this bundle is compatible with Symfony < 4.3

## Features

Some of the main features of this theme bundle:

- Two main layouts for main application and security (login, forgot password, register account...)
- Support for Symfony 4.x
- Support for KNPMenuBundle
- Support for FOSUserBundle
- Webpack-Encore support for building assets
- Event-driven handling of menu entries, tasks and notifications
- Translations for: english, german, italian, czech, spanish, russian, arabic, finnish, japanese, swedish, portuguese (brazilian), dutch, french, turkish, danish, chinese, slovakian, basque, polish, esperanto, hebrew, romanian (please help translating it to more languages)
- Based on AdminLTE 2.4.8
- Using FontAwesome 5

## Installation with Symfony Flex

Installation using Symfony flex:

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

## Installation with Composer

Installation using the "traditional" composer approach:

```bash
composer require kevinpapst/adminlte-bundle ^3.0
```

Afterwards copy the default config to your `config/packages/` directory:

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

Then, enable the bundle by adding it to the list of registered bundles in the `config/bundles.php` file of your project:

```php
['all' => true],
];
```

## Difference between AdminLTEBundle and AvanzuAdminThemeBundle

First and foremost: the original repository has a strong backward compatibility in mind, maintenance is only done if Symfony 2 and 3 compatibility is kept (e.g. [here](https://github.com/avanzu/AdminThemeBundle/pull/216)).

That means you don't get the new shiny stuff for SF4. As I work on a Symfony 4 project, utilizing webpack-encore I needed a solution.

First I tried to sent PRs for the original repository, but those were not always accepted [eg. here](https://github.com/avanzu/AdminThemeBundle/pulls/kevinpapst).
As I really needed an upgraded version, I tried to manage a branch in a fork for a couple of weeks, but that wasn't working well
and I found myself overwriting more and more stuff in my project until there was a point were I had to choose between:
1. doing all the changes in my project
2. doing the changes in my forked repository and having "dev-" entries in my composer.json
3. cleanup the fork, merge it with my project changes and release it for the community

The choice **3** was easy and obvious for me: I am doing the work now in this repository with a fresh start and the chance for backward-compatibility breaks (for the users migrating from the AdminThemeBundle).

### Main differences

This repository was created from the original master, but with a lot of enhancements on top:

- Auto discovery for commands (see [#215](https://github.com/avanzu/AdminThemeBundle/pull/215))
- Symfony4 compatibility (see [#215](https://github.com/avanzu/AdminThemeBundle/pull/216))
- Dynamic config options (see [#217](https://github.com/avanzu/AdminThemeBundle/pull/217))
- Upgraded to AdminLTE 2.4.8
- Added support for [FOSUserBundle](Resources/docs/fos_userbundle.md)
- Added Symfony Flex recipe for easier integration
- Using Webpack-Encore for compiling frontend-assets
- Fixed KNPMenu integration
- Replaced AliasRouting with simpler version
- Changed namespaces to allow co-existence with AdminThemeBundle for migration
- Changed and extended default configuration
- Huge cleanup of the codebase
- Changed all twig block-names (with additional layout shim files for migration)
- Changed control-sidebar, content is now configurable from admin_lte.yaml or the ContextHelper
- A [Demo application](https://github.com/kevinpapst/AdminLTEBundle-Demo) as living documentation for first time users and easier testing
- Updated composer.json to reflect more up-to-date bundle dependencies
- Introduction of unit tests, phpstan and code-style rules (all checked by Travis)

### Migration from AvanzuAdminTheme

Be aware: I decided to change some project internals and got rid of some features from the original AdminThemeBundle.
I found the all-in-one solution to be more problematic then helpful at several places, so I took the chance to update it to my own interpretation of a theme bundle.

If you previously used the `AvanzuAdminTheme` you will not be able to "just replace" the composer package.
Plan ahead, you will need (depending on the size of your project) a couple of hours [for the migration](Resources/docs/migration_guide.md).

I migrated my own project within ~4 hours, but I had to move a lot of the customization to the bundle (e.g. the webpack-encore build) in the same time.
See the PRs [#202](https://github.com/kimai/kimai/pull/202/files) and [#206](https://github.com/kevinpapst/kimai2/pull/206/files) for migration examples.

## License and contributors

Published under the MIT, read the [LICENSE](LICENSE) file for more information.

This repository is based on the work of [AdminThemeBundle](https://github.com/avanzu/AdminThemeBundle), please check their contributor list as well and give them a star!