Config overridden
Categories
Component ID
2911245
Component name
Config overridden
Component type
module
Maintenance status
Development status
Component security advisory coverage
not-covered
Downloads
70
Component created
Component changed
Component body
Psss.. hey, man.. Wanna highlight some overridden settings?
As you might already know Drupal 8 has a different system of overriding settings comparing to Drupal 7. More about that is accessible here. So it is not always obvious that your settings are overridden in settings.php and you kind of trying to change the settings via admin page and still see the same result as it was!
So I've started a project for adding some visualization for overridden values on all admin forms.
P.S: Currently in first release only "Site Information" form is supported. But I hope that soon I'll add more flexibility to this.
How to add support for your custom form.
- Create Plugin under directory src/Plugin/ConfigFormOverrider
- Inherit your own class from Drupalconfig_overriddenPluginConfigFormOverriderConfigFormOverriderDefault
- Change method ::getApplicableFormIds() and add your form with ID and mappings
Example:
namespace DrupalmymodulePluginConfigFormOverrider;
use Drupalconfig_overriddenPluginConfigFormOverriderConfigFormOverriderDefault;
/**
* Class FormOverriderDefault
*
* @ConfigFormOverrider(
* id = "form_mymodule_admin_form",
* name = @Translation("My own custom admin form highlighter"),
* weight = 1000
* )
*/
class MyModuleConfigFormOverrider extends ConfigFormOverriderDefault {
/**
* Overrides ConfigFormOverriderDefault::getApplicableFormIds().
*
* {@inheritdoc}
*/
protected function getApplicableFormIds() {
return [
// Form id == $form->getFormId();
'myown_form_id' => [
// Main config name. Check SiteInformationForm::getEditableConfigNames()
'config_name' => 'system.site',
// search_prefix - (optional) If all elements on form are inside of key $form['all_config_values']['value1'] = 123; and etc. Mapping has more priority
// 'search_prefix' => 'site_information.inner_block.and.etc',
'map' => [
// Key is config name (used in settings.php). Value is a path to form element to find it in $form object
'name' => 'site_information.site_name',
'slogan' => 'site_information.site_slogan',
'mail' => 'site_information.site_mail',
'page.front' => 'front_page.site_frontpage',
'page.404' => 'error_page.site_404', // In this case $form['error_page']['site_404']
'page.403' => 'error_page.site_403',
],
],
];
}
}