itk-dev / config-bundle
A Symfony bundle to handle app config
Requires
- craue/config-bundle: ~2.2
- doctrine/dbal: ^2.5
- easycorp/easyadmin-bundle: ^2.0
- friendsofsymfony/ckeditor-bundle: ^2.0
- symfony/framework-bundle: ~3.0|~4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.10
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-10-19 15:42:56 UTC
README
Installation
composer require itk-dev/settings-bundle "^1.0"
Enable the bundle in app/AppKernel.php
:
public function registerBundles() { $bundles = [ // … // Start of required dependencies of ItkDevConfigBundle new Craue\ConfigBundle\CraueConfigBundle(), new EasyCorp\Bundle\EasyAdminBundle\EasyAdminBundle(), // End of required dependencies for ItkDevConfigBundle new ItkDev\ConfigBundle\ItkDevConfigBundle(), ]; // … }
In app/config/config.yml
:
craue_config: entity_name: ItkDev\ConfigBundle\Entity\Setting # Optionally, enable caching for craue/config-bundle (cf. https://github.com/craue/CraueConfigBundle/#enable-caching-optional) services: craue_config_cache_provider: class: Symfony\Component\Cache\Adapter\FilesystemAdapter public: false arguments: - 'craue_config' - 0 - '%kernel.cache_dir%'
Depending on your doctrine setup, you may have to add ItkDevConfigBundle
to your doctrine mappings, e.g.:
doctrine: orm: entity_managers: default: mappings: … ItkDevConfigBundle: ~
If using Doctrine
migrations, you
should filter out the craue_config_setting
table from
migrations:
doctrine: dbal: [...] schema_filter: ~^(?!craue_config_setting)~
Usage
Create settings in the database (preferably using a migration):
insert into itkdev_setting(section, name, type, form_type, value_string) values ('cms', 'about_header', 'string', 'text', 'About this application'); insert into itkdev_setting(section, name, type, form_type, value_text) values ('cms', 'about, 'text', 'text', 'This application handles configuration on the database.);
Easy admin:
See Resources/config/easy_admin.yml for an example Easy Admin configuration for Settings.
Twig:
See https://github.com/craue/CraueConfigBundle/#usage-in-twig-templates
Rich text
To use the form type ckeditor
, you have to enable
IvoryCKEditorBundle
(which is already installed).
Follow steps 2–4 on https://symfony.com/doc/master/bundles/EasyAdminBundle/integration/ivoryckeditorbundle.html#installing-the-rich-text-editor to enable the bundle.