All Projects → kevinpapst → Adminltebundle

kevinpapst / Adminltebundle

Licence: other
AdminLTE bundle for Symfony 4 - an backend/admin theme for easy integration with SF4. Its based on the AdminLTE Template and built with webpack-encore. Supports KNPMenuBundle and FOSUserBundle.

Projects that are alternatives of or similar to Adminltebundle

Twig Bundle
The Twig Bundle provides configuration for using Twig in your applications.
Stars: ✭ 2,150 (+1107.87%)
Mutual labels:  symfony, symfony-bundle
Sonataadminbundle
The missing Symfony Admin Generator
Stars: ✭ 2,039 (+1045.51%)
Mutual labels:  symfony, symfony-bundle
Symfonyconfigtest
Stars: ✭ 142 (-20.22%)
Mutual labels:  symfony, symfony-bundle
Nelmiosolariumbundle
Integration between Symfony and the Solarium Solr client.
Stars: ✭ 141 (-20.79%)
Mutual labels:  symfony, symfony-bundle
Debug Bundle
The DebugBundle allows greater integration of the VarDumper component in the Symfony full-stack framework.
Stars: ✭ 2,033 (+1042.13%)
Mutual labels:  symfony, symfony-bundle
Datatables Bundle
DataTables bundle for Symfony
Stars: ✭ 142 (-20.22%)
Mutual labels:  symfony, symfony-bundle
Core
The server component of API Platform: hypermedia and GraphQL APIs in minutes
Stars: ✭ 2,004 (+1025.84%)
Mutual labels:  symfony, symfony-bundle
Doctrinephpcrbundle
This bundle integrates Doctrine PHPCR ODM and PHPCR backends into Symfony
Stars: ✭ 131 (-26.4%)
Mutual labels:  symfony, symfony-bundle
Craueconfigbundle
Database-stored settings made available via a service for your Symfony project.
Stars: ✭ 154 (-13.48%)
Mutual labels:  symfony, symfony-bundle
Sonatanewsbundle
Symfony SonataNewsBundle
Stars: ✭ 153 (-14.04%)
Mutual labels:  symfony, symfony-bundle
Consolebundle
Commandline interface in browser for Symfony2
Stars: ✭ 138 (-22.47%)
Mutual labels:  symfony, symfony-bundle
Nelmioapidocbundle
Generates documentation for your REST API from annotations
Stars: ✭ 2,009 (+1028.65%)
Mutual labels:  symfony, symfony-bundle
Sonatanotificationbundle
Symfony SonataNotificationBundle
Stars: ✭ 136 (-23.6%)
Mutual labels:  symfony, symfony-bundle
Doctrinefixturesbundle
Symfony integration for the doctrine/data-fixtures library
Stars: ✭ 2,174 (+1121.35%)
Mutual labels:  symfony, symfony-bundle
Stofdoctrineextensionsbundle
Integration bundle for DoctrineExtensions by l3pp4rd in Symfony
Stars: ✭ 1,713 (+862.36%)
Mutual labels:  symfony, symfony-bundle
Web Profiler Bundle
The WebProfilerBundle provides detailed technical information about each request execution and displays it in both the web debug toolbar and the profiler.
Stars: ✭ 1,905 (+970.22%)
Mutual labels:  symfony, symfony-bundle
Wouterjeloquentbundle
Integrates the Eloquent ORM in the Symfony framework
Stars: ✭ 126 (-29.21%)
Mutual labels:  symfony, symfony-bundle
Feedbundle
A Symfony bundle to build RSS feeds from your entities
Stars: ✭ 130 (-26.97%)
Mutual labels:  symfony, symfony-bundle
Dunglasangularcsrfbundle
Automatic CSRF protection for JavaScript apps using a Symfony API
Stars: ✭ 152 (-14.61%)
Mutual labels:  symfony, symfony-bundle
2fa
Two-factor authentication for Symfony applications 🔐 (bunde version ≥ 5)
Stars: ✭ 162 (-8.99%)
Mutual labels:  symfony, symfony-bundle

Latest Stable Version Build Status Total Downloads License

AdminLTE Bundle for Symfony 4

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

Introduction

Minimum requirements

  • Symfony 4.3
  • PHP 7.2 (untested with 8)
  • Twig 2.0

Compatibility:

Version 3.x should be compatible with Symfony 5, please leave your feedback.

  • 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:

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

Installation with Composer

Installation using the "traditional" composer approach:

   composer require kevinpapst/adminlte-bundle ^3.0

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

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

return [
    // ...
    KevinPapst\AdminLTEBundle\AdminLTEBundle::class => ['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).

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. 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)
  • Symfony4 compatibility (see #215)
  • Dynamic config options (see #217)
  • Upgraded to AdminLTE 2.4.8
  • Added support for FOSUserBundle
  • 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 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.

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 and #206 for migration examples.

License and contributors

Published under the MIT, read the LICENSE file for more information.

This repository is based on the work of AdminThemeBundle, please check their contributor list as well and give them a star!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].