barth / simple-config-bundle
Expose packages configuration in a view
Installs: 27
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- symfony/config: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/filesystem: ^3.4|^4.0
- symfony/finder: ^3.4|^4.0
- symfony/form: ^3.4|^4.0
- symfony/framework-bundle: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
- symfony/yaml: ^3.4|^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.12
- phpmd/phpmd: ^2.6
- symfony/var-dumper: ^4.1
Suggests
- easycorp/easyadmin-bundle: Embed Config forms directly in EasyAdminBundle
This package is auto-updated.
Last update: 2024-11-17 10:13:03 UTC
README
This bundle provide an UI to configure other bundles by override a configuration file.
This should be used to allow administrators of your Application to easily change some simple configuration. References this documentation example, they could can change the Twitter Client Id and Twitter Client secret.
The mechanism behind is to retrieve all available configuration for a bundle, display it in a form, and dump the submitted data in a new config file that will override the default configuration.
Installation
Step 1: Download the Bundle
Open a command console, enter your project directory and execute:
$ composer require barth/simple-config-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundle.php
file of your project:
<?php // config/bundles.php return [ // ... Barth\SimpleConfigBundle\BarthSimpleConfigBundle::class => ['all' => true], ];
Step 3: Import routes
In your config/routes.yaml
, add the following route definition :
#config/routes.yaml barth_simpleconfig: resource: "@BarthSimpleConfigBundle/Controller/" type: annotation prefix: /admin
⚠️ You should provide a prefix
where only ROLE_ADMIN can access.
Optionnal Steps
You should add the config/packages/override
path to your gitignore.
If you deploy your app with awesome tools like Capistrano or Deployer, don't forget to make this path as shared to avoid lose custom override between each deployment.
Blacklist bundles
By default, all bundles that come with symfony/website-skeleton are blacklisted. You cannot override them so easily.
You can extend this list by adding the bundle alias in your configuration :
#config/packages/barth_simple_config barth_simple_config: blacklisted_bundles: - nelmio_api_doc # for example
How use it
When installation is completed, you have two new routes :
- http://yourdomain.org/admin/config That exposes all available configuration routes
- http://yourdomain.org/admin/config/{package} That display your form configuration
Customization and Integration
Custom Backend
By default, pages don't look very pretty. To integrate it in your template, don't hesitate to override the base.html.twig
template by creating a new one in templates/bundles/BarthSimpleConfigBundle/
and make it extend your base template.
Third-party bundles
SimpleConfigBundle can easily be integrated in EasyAdminBundle. Just require it.
Contribute
First of all, thank you for contributing ❤️
If you find any typo/misconfiguration/... please send me a PR or open an issue.
Also, while creating your PR, please write a description which gives the context and/or explains why you are creating it.
TODOs
- Make installation as simple as a
composer require barth/simple-config-bundle
, so submit it to packagist - Process configuration when form is submitted to validate it immediatly.
- Write Tests Suite
- Add translations
- Integration with EasyAdminBundle
- Integration with Sonata