diff --git a/config_simple_example/config/install/config_simple_example.settings.yml b/config_simple_example/config/install/config_simple_example.settings.yml new file mode 100644 index 0000000..9f13574 --- /dev/null +++ b/config_simple_example/config/install/config_simple_example.settings.yml @@ -0,0 +1 @@ +message: 'Awesome settings' diff --git a/config_simple_example/config/schema/config_simple_example.schema.yml b/config_simple_example/config/schema/config_simple_example.schema.yml new file mode 100644 index 0000000..afe45b6 --- /dev/null +++ b/config_simple_example/config/schema/config_simple_example.schema.yml @@ -0,0 +1,7 @@ +config_simple_example.settings: + type: config_object + label: 'Example config' + mapping: + message: + type: text + label: 'Message' \ No newline at end of file diff --git a/config_simple_example/config_simple_example.config_translation.yml b/config_simple_example/config_simple_example.config_translation.yml new file mode 100644 index 0000000..a8ec6a6 --- /dev/null +++ b/config_simple_example/config_simple_example.config_translation.yml @@ -0,0 +1,5 @@ +config_simple_example.settings: + title: 'Config Simple Example Translatable config' + base_route_name: config_simple_example.settings + names: + - config_simple_example.settings \ No newline at end of file diff --git a/config_simple_example/config_simple_example.info.yml b/config_simple_example/config_simple_example.info.yml new file mode 100644 index 0000000..e4b8250 --- /dev/null +++ b/config_simple_example/config_simple_example.info.yml @@ -0,0 +1,8 @@ +name: 'Config simple example' +type: module +description: 'Demonstrates how to create a custom config, config form and config translation.' +package: Example modules +core: 8.x +dependencies: + - config_translation +# - examples:examples \ No newline at end of file diff --git a/config_simple_example/config_simple_example.links.menu.yml b/config_simple_example/config_simple_example.links.menu.yml new file mode 100644 index 0000000..f539a37 --- /dev/null +++ b/config_simple_example/config_simple_example.links.menu.yml @@ -0,0 +1,12 @@ +config_simple_example.configuration: + title: 'Config Simple Example Configuration' + route_name: config_simple_example.configuration + parent: system.admin_config + description: '' + weight: -15 +config_simple_example.settings: + title: 'Config Simple Example Settings' + route_name: config_simple_example.settings + parent: config_simple_example.configuration + description: '' + weight: -15 diff --git a/config_simple_example/config_simple_example.links.task.yml b/config_simple_example/config_simple_example.links.task.yml new file mode 100644 index 0000000..5494b84 --- /dev/null +++ b/config_simple_example/config_simple_example.links.task.yml @@ -0,0 +1,6 @@ +config_simple_example.settings: + route_name: config_simple_example.settings + title: 'Config Simple Example Settings' + base_route: config_simple_example.settings + weight: 0 + diff --git a/config_simple_example/config_simple_example.routing.yml b/config_simple_example/config_simple_example.routing.yml new file mode 100644 index 0000000..60ed9e2 --- /dev/null +++ b/config_simple_example/config_simple_example.routing.yml @@ -0,0 +1,14 @@ +config_simple_example.configuration: + path: '/admin/config/config_simple_example' + defaults: + _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' + _title: 'Config Example Configuration' + requirements: + _permission: 'administer site configuration' +config_simple_example.settings: + path: '/admin/config/config_simple_example/settings' + defaults: + _form: '\Drupal\config_simple_example\Form\ConfigSimpleExampleSettingsForm' + _title: 'Config simple example' + requirements: + _permission: 'administer site configuration' \ No newline at end of file diff --git a/config_simple_example/src/Form/ConfigSimpleExampleSettingsForm.php b/config_simple_example/src/Form/ConfigSimpleExampleSettingsForm.php new file mode 100644 index 0000000..d4d9449 --- /dev/null +++ b/config_simple_example/src/Form/ConfigSimpleExampleSettingsForm.php @@ -0,0 +1,54 @@ +config('config_simple_example.settings'); + + $form['message'] = array( + '#type' => 'textarea', + '#title' => $this->t('Message'), + '#default_value' => $config->get('message'), + ); + + return parent::buildForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + // Retrieve the configuration + $this->config('config_simple_example.settings') + // Set the submitted configuration setting + ->set('message', $form_state->getValue('message')) + ->save(); + + parent::submitForm($form, $form_state); + } +}