SettingsForm.php in Default Content Deploy 8
File
src/Form/SettingsForm.php
View source
<?php
namespace Drupal\default_content_deploy\Form;
use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;
class SettingsForm extends ConfigFormBase {
const DIRECTORY = 'default_content_deploy.content_directory';
public function getFormId() {
return 'dcd_settings_form';
}
protected function getEditableConfigNames() {
return [
static::DIRECTORY,
];
}
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config(static::DIRECTORY);
$form['content_directory'] = [
'#type' => 'textfield',
'#title' => $this
->t('Content Directory'),
'#default_value' => $config
->get('content_directory'),
'#description' => 'Specify the path relative to index.php. For example: ../content',
];
return parent::buildForm($form, $form_state);
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$this->configFactory
->getEditable(static::DIRECTORY)
->set('content_directory', $form_state
->getValue('content_directory'))
->save();
parent::submitForm($form, $form_state);
}
}